home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-1.iso / Files / Tele / Internet / NewsWatch.sit / source / newsprocess.c < prev    next >
MacBinary  |  1991-04-03  |  46.5 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: newsprocess.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Wed Apr 3 18:30:20 1991, modified Wed Apr 3 18:30:20 1991, creator 'MPS ', type ASCII, 46120 bytes "newsprocess.c" , at 0xb4a8 1254 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 6e 65 77 73 70 72 | 6f 63 65 73 73 2e 63 00 |..newspr|ocess.c.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 b4 28 00 | 00 04 e6 a4 20 16 0c a4 |......(.|.... ...|
|00000060| 20 16 0c 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | .......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 05 bf 00 00 |........|........|
|00000080| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 23 0d 23 |--------|----.#.#|
|000000c0| 09 4e 65 77 73 57 61 74 | 63 68 65 72 09 2d 20 4d |.NewsWat|cher.- M|
|000000d0| 61 63 69 6e 74 6f 73 68 | 20 4e 4e 54 50 20 43 6c |acintosh| NNTP Cl|
|000000e0| 69 65 6e 74 20 41 70 70 | 6c 69 63 61 74 69 6f 6e |ient App|lication|
|000000f0| 0d 23 0d 23 09 57 72 69 | 74 74 65 6e 20 62 79 20 |.#.#.Wri|tten by |
|00000100| 53 74 65 76 65 6e 20 46 | 61 6c 6b 65 6e 62 75 72 |Steven F|alkenbur|
|00000110| 67 0d 23 09 a9 31 39 39 | 30 20 41 70 70 6c 65 20 |g.#..199|0 Apple |
|00000120| 43 6f 6d 70 75 74 65 72 | 2c 20 49 6e 63 2e 0d 23 |Computer|, Inc..#|
|00000130| 0d 23 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.#------|--------|
|00000140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 23 0d |--------|-----.#.|
|00000170| 23 09 6e 65 77 73 70 72 | 6f 63 65 73 73 2e 63 0d |#.newspr|ocess.c.|
|00000180| 23 0d 23 09 54 68 69 73 | 20 63 6f 64 65 20 6d 6f |#.#.This| code mo|
|00000190| 64 75 6c 65 20 63 6f 6e | 74 61 69 6e 73 20 6d 69 |dule con|tains mi|
|000001a0| 73 63 65 6c 6c 61 6e 65 | 6f 75 73 20 72 6f 75 74 |scellane|ous rout|
|000001b0| 69 6e 65 73 0d 23 09 63 | 61 6c 6c 65 64 20 62 79 |ines.#.c|alled by|
|000001c0| 20 6d 61 6e 79 20 6f 66 | 20 74 68 65 20 6f 74 68 | many of| the oth|
|000001d0| 65 72 20 63 6f 64 65 20 | 73 65 67 6d 65 6e 74 73 |er code |segments|
|000001e0| 2e 0d 23 09 54 68 65 20 | 6d 65 6d 6f 72 79 20 6d |..#.The |memory m|
|000001f0| 61 6e 61 67 65 6d 65 6e | 74 20 72 6f 75 74 69 6e |anagemen|t routin|
|00000200| 65 73 20 61 6e 64 20 73 | 74 61 74 75 73 20 77 69 |es and s|tatus wi|
|00000210| 6e 64 6f 77 0d 23 09 72 | 6f 75 74 69 6e 65 73 20 |ndow.#.r|outines |
|00000220| 61 72 65 20 63 6f 6e 74 | 61 69 6e 65 64 20 69 6e |are cont|ained in|
|00000230| 20 74 68 69 73 20 6d 6f | 64 75 6c 65 2e 0d 23 0d | this mo|dule..#.|
|00000240| 23 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |#-------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|00000280| 23 70 72 61 67 6d 61 20 | 73 65 67 6d 65 6e 74 20 |#pragma |segment |
|00000290| 6e 65 77 73 70 72 6f 63 | 65 73 73 0d 0d 23 69 6e |newsproc|ess..#in|
|000002a0| 63 6c 75 64 65 20 22 63 | 6f 6d 70 61 74 2e 68 22 |clude "c|ompat.h"|
|000002b0| 0d 0d 23 69 66 64 65 66 | 20 50 52 4f 54 4f 53 0d |..#ifdef| PROTOS.|
|000002c0| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 54 79 70 65 73 |.#includ|e <Types|
|000002d0| 2e 68 3e 0d 23 69 6e 63 | 6c 75 64 65 20 3c 51 75 |.h>.#inc|lude <Qu|
|000002e0| 69 63 6b 44 72 61 77 2e | 68 3e 0d 23 69 6e 63 6c |ickDraw.|h>.#incl|
|000002f0| 75 64 65 20 3c 46 6f 6e | 74 73 2e 68 3e 0d 23 69 |ude <Fon|ts.h>.#i|
|00000300| 6e 63 6c 75 64 65 20 3c | 57 69 6e 64 6f 77 73 2e |nclude <|Windows.|
|00000310| 68 3e 0d 23 69 6e 63 6c | 75 64 65 20 3c 4d 65 6e |h>.#incl|ude <Men|
|00000320| 75 73 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 3c |us.h>.#i|nclude <|
|00000330| 54 65 78 74 45 64 69 74 | 2e 68 3e 0d 23 69 6e 63 |TextEdit|.h>.#inc|
|00000340| 6c 75 64 65 20 3c 44 69 | 61 6c 6f 67 73 2e 68 3e |lude <Di|alogs.h>|
|00000350| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 4f 53 55 74 69 |.#includ|e <OSUti|
|00000360| 6c 73 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 3c |ls.h>.#i|nclude <|
|00000370| 44 65 73 6b 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |Desk.h>.|#include|
|00000380| 20 3c 54 6f 6f 6c 55 74 | 69 6c 73 2e 68 3e 0d 23 | <ToolUt|ils.h>.#|
|00000390| 69 6e 63 6c 75 64 65 20 | 3c 4f 53 45 76 65 6e 74 |include |<OSEvent|
|000003a0| 73 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 4c |s.h>.#in|clude <L|
|000003b0| 69 73 74 73 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |ists.h>.|#include|
|000003c0| 20 3c 43 75 72 73 6f 72 | 43 74 6c 2e 68 3e 0d 23 | <Cursor|Ctl.h>.#|
|000003d0| 69 6e 63 6c 75 64 65 20 | 3c 50 61 63 6b 61 67 65 |include |<Package|
|000003e0| 73 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 45 |s.h>.#in|clude <E|
|000003f0| 72 72 6f 72 73 2e 68 3e | 0d 23 69 6e 63 6c 75 64 |rrors.h>|.#includ|
|00000400| 65 20 3c 43 54 79 70 65 | 2e 68 3e 0d 23 69 6e 63 |e <CType|.h>.#inc|
|00000410| 6c 75 64 65 20 3c 53 74 | 72 69 6e 67 73 2e 68 3e |lude <St|rings.h>|
|00000420| 0d 23 65 6e 64 69 66 0d | 0d 23 69 6e 63 6c 75 64 |.#endif.|.#includ|
|00000430| 65 20 3c 53 74 64 49 4f | 2e 68 3e 0d 23 69 6e 63 |e <StdIO|.h>.#inc|
|00000440| 6c 75 64 65 20 3c 53 74 | 72 69 6e 67 2e 68 3e 0d |lude <St|ring.h>.|
|00000450| 0d 23 69 6e 63 6c 75 64 | 65 20 22 6e 6e 74 70 2e |.#includ|e "nntp.|
|00000460| 68 22 0d 23 69 6e 63 6c | 75 64 65 20 22 6e 65 77 |h".#incl|ude "new|
|00000470| 73 70 72 6f 63 65 73 73 | 2e 68 22 0d 23 69 6e 63 |sprocess|.h".#inc|
|00000480| 6c 75 64 65 20 22 75 73 | 65 72 69 6e 74 2e 68 22 |lude "us|erint.h"|
|00000490| 0d 23 69 6e 63 6c 75 64 | 65 20 22 63 6f 6d 6d 61 |.#includ|e "comma|
|000004a0| 6e 64 73 2e 68 22 0d 23 | 69 6e 63 6c 75 64 65 20 |nds.h".#|include |
|000004b0| 22 6d 69 73 63 73 74 75 | 66 66 2e 68 22 0d 23 69 |"miscstu|ff.h".#i|
|000004c0| 6e 63 6c 75 64 65 20 22 | 6e 65 74 73 74 75 66 66 |nclude "|netstuff|
|000004d0| 2e 68 22 0d 0d 23 69 66 | 64 65 66 20 4e 4e 54 50 |.h"..#if|def NNTP|
|000004e0| 4e 45 57 53 0d 23 69 6e | 63 6c 75 64 65 20 22 4e |NEWS.#in|clude "N|
|000004f0| 4e 54 50 4c 6f 77 2e 68 | 22 0d 23 65 6c 73 65 0d |NTPLow.h|".#else.|
|00000500| 23 69 6e 63 6c 75 64 65 | 20 22 48 46 53 4e 54 50 |#include| "HFSNTP|
|00000510| 4c 6f 77 2e 68 22 0d 23 | 65 6e 64 69 66 0d 0d 0d |Low.h".#|endif...|
|00000520| 2f 2a 09 49 6e 69 74 53 | 75 62 6a 65 63 74 4c 69 |/*.InitS|ubjectLi|
|00000530| 73 74 20 69 73 20 63 61 | 6c 6c 65 64 20 74 6f 20 |st is ca|lled to |
|00000540| 73 65 74 20 75 70 20 61 | 6e 20 65 6d 70 74 79 20 |set up a|n empty |
|00000550| 73 75 62 6a 65 63 74 20 | 6c 69 73 74 0d 09 64 61 |subject |list..da|
|00000560| 74 61 20 73 74 72 75 63 | 74 75 72 65 2e 20 20 54 |ta struc|ture. T|
|00000570| 68 65 20 73 75 62 6a 65 | 63 74 73 20 61 72 65 20 |he subje|cts are |
|00000580| 73 74 6f 72 65 64 20 69 | 6e 20 61 20 68 61 6e 64 |stored i|n a hand|
|00000590| 6c 65 2c 20 77 68 69 63 | 68 20 0d 09 69 73 20 64 |le, whic|h ..is d|
|000005a0| 79 6e 61 6d 69 63 61 6c | 6c 79 20 67 72 6f 77 6e |ynamical|ly grown|
|000005b0| 20 61 6e 64 20 6c 6f 63 | 6b 65 64 2e 0d 2a 2f 0d | and loc|ked..*/.|
|000005c0| 0d 76 6f 69 64 20 49 6e | 69 74 53 75 62 6a 65 63 |.void In|itSubjec|
|000005d0| 74 4c 69 73 74 28 54 77 | 69 6e 64 6f 77 49 6e 66 |tList(Tw|indowInf|
|000005e0| 6f 20 2a 74 68 65 49 6e | 66 6f 29 0d 7b 0d 09 74 |o *theIn|fo).{..t|
|000005f0| 68 65 49 6e 66 6f 2d 3e | 64 61 74 61 32 20 3d 20 |heInfo->|data2 = |
|00000600| 28 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 29 4d |(unsigne|d long)M|
|00000610| 79 4e 65 77 48 61 6e 64 | 6c 65 28 31 29 3b 0d 09 |yNewHand|le(1);..|
|00000620| 48 4c 6f 63 6b 28 28 48 | 61 6e 64 6c 65 29 74 68 |HLock((H|andle)th|
|00000630| 65 49 6e 66 6f 2d 3e 64 | 61 74 61 32 29 3b 0d 09 |eInfo->d|ata2);..|
|00000640| 74 68 65 49 6e 66 6f 2d | 3e 6e 75 6d 53 75 62 6a |theInfo-|>numSubj|
|00000650| 65 63 74 73 20 3d 20 30 | 3b 0d 7d 0d 0d 0d 2f 2a |ects = 0|;.}.../*|
|00000660| 09 41 64 64 54 6f 53 75 | 62 6a 65 63 74 4c 69 73 |.AddToSu|bjectLis|
|00000670| 74 20 67 65 74 73 20 61 | 20 72 61 6e 67 65 20 6f |t gets a| range o|
|00000680| 66 20 6d 65 73 73 61 67 | 65 73 20 66 72 6f 6d 20 |f messag|es from |
|00000690| 74 68 65 20 4e 4e 54 50 | 20 73 65 72 76 65 72 20 |the NNTP| server |
|000006a0| 61 6e 64 20 70 75 74 73 | 0d 09 74 68 65 6d 20 69 |and puts|..them i|
|000006b0| 6e 20 74 68 65 20 73 75 | 62 6a 65 63 74 20 6c 69 |n the su|bject li|
|000006c0| 73 74 2e 20 20 54 68 65 | 20 64 61 74 61 20 73 74 |st. The| data st|
|000006d0| 72 75 63 74 75 72 65 20 | 69 73 20 67 72 6f 77 6e |ructure |is grown|
|000006e0| 20 61 63 63 6f 72 64 69 | 6e 67 6c 79 2e 0d 2a 2f | accordi|ngly..*/|
|000006f0| 0d 0d 76 6f 69 64 20 41 | 64 64 54 6f 53 75 62 6a |..void A|ddToSubj|
|00000700| 65 63 74 4c 69 73 74 28 | 54 77 69 6e 64 6f 77 49 |ectList(|TwindowI|
|00000710| 6e 66 6f 20 2a 74 68 65 | 49 6e 66 6f 2c 63 68 61 |nfo *the|Info,cha|
|00000720| 72 20 2a 6e 65 77 73 47 | 72 6f 75 70 2c 6c 6f 6e |r *newsG|roup,lon|
|00000730| 67 20 66 69 72 73 74 2c | 6c 6f 6e 67 20 6c 61 73 |g first,|long las|
|00000740| 74 29 0d 7b 0d 09 4c 69 | 73 74 48 61 6e 64 6c 65 |t).{..Li|stHandle|
|00000750| 20 74 68 65 4c 69 73 74 | 3b 0d 09 6c 6f 6e 67 20 | theList|;..long |
|00000760| 69 2c 6e 75 6d 4d 65 73 | 73 61 67 65 73 3b 0d 09 |i,numMes|sages;..|
|00000770| 43 65 6c 6c 20 74 68 65 | 43 65 6c 6c 2c 6f 6c 64 |Cell the|Cell,old|
|00000780| 43 65 6c 6c 3b 0d 09 54 | 53 75 62 6a 65 63 74 20 |Cell;..T|Subject |
|00000790| 2a 74 68 65 53 75 62 6a | 65 63 74 73 3b 0d 09 53 |*theSubj|ects;..S|
|000007a0| 74 72 32 35 35 20 74 6d | 70 53 74 72 3b 0d 09 65 |tr255 tm|pStr;..e|
|000007b0| 78 74 65 72 6e 20 54 50 | 72 65 66 52 65 63 20 67 |xtern TP|refRec g|
|000007c0| 50 72 65 66 73 3b 0d 09 | 0d 09 74 68 65 4c 69 73 |Prefs;..|..theLis|
|000007d0| 74 20 3d 20 28 4c 69 73 | 74 48 61 6e 64 6c 65 29 |t = (Lis|tHandle)|
|000007e0| 20 74 68 65 49 6e 66 6f | 2d 3e 64 61 74 61 3b 0d | theInfo|->data;.|
|000007f0| 09 0d 09 2f 2a 20 67 65 | 74 20 6d 61 78 20 73 70 |.../* ge|t max sp|
|00000800| 65 63 69 66 69 65 64 20 | 6d 73 67 73 20 2a 2f 0d |ecified |msgs */.|
|00000810| 09 0d 09 69 66 20 28 6c | 61 73 74 2d 66 69 72 73 |...if (l|ast-firs|
|00000820| 74 20 3e 20 67 50 72 65 | 66 73 2e 6d 61 78 46 65 |t > gPre|fs.maxFe|
|00000830| 74 63 68 29 0d 09 09 66 | 69 72 73 74 20 3d 20 6c |tch)...f|irst = l|
|00000840| 61 73 74 2d 67 50 72 65 | 66 73 2e 6d 61 78 46 65 |ast-gPre|fs.maxFe|
|00000850| 74 63 68 3b 0d 09 09 0d | 09 48 55 6e 6c 6f 63 6b |tch;....|.HUnlock|
|00000860| 28 28 48 61 6e 64 6c 65 | 29 74 68 65 49 6e 66 6f |((Handle|)theInfo|
|00000870| 2d 3e 64 61 74 61 32 29 | 3b 0d 09 4d 79 53 65 74 |->data2)|;..MySet|
|00000880| 48 61 6e 64 6c 65 53 69 | 7a 65 28 28 48 61 6e 64 |HandleSi|ze((Hand|
|00000890| 6c 65 29 74 68 65 49 6e | 66 6f 2d 3e 64 61 74 61 |le)theIn|fo->data|
|000008a0| 32 2c 47 65 74 48 61 6e | 64 6c 65 53 69 7a 65 28 |2,GetHan|dleSize(|
|000008b0| 28 48 61 6e 64 6c 65 29 | 74 68 65 49 6e 66 6f 2d |(Handle)|theInfo-|
|000008c0| 3e 64 61 74 61 32 29 2b | 28 73 69 7a 65 6f 66 28 |>data2)+|(sizeof(|
|000008d0| 54 53 75 62 6a 65 63 74 | 29 2a 28 6c 61 73 74 2d |TSubject|)*(last-|
|000008e0| 66 69 72 73 74 2b 31 29 | 29 29 3b 0d 09 69 66 20 |first+1)|));..if |
|000008f0| 28 4d 79 4d 65 6d 45 72 | 72 28 29 20 21 3d 20 6e |(MyMemEr|r() != n|
|00000900| 6f 45 72 72 29 20 7b 0d | 09 09 4d 6f 76 65 48 48 |oErr) {.|..MoveHH|
|00000910| 69 28 28 48 61 6e 64 6c | 65 29 74 68 65 49 6e 66 |i((Handl|e)theInf|
|00000920| 6f 2d 3e 64 61 74 61 32 | 29 3b 0d 09 09 48 4c 6f |o->data2|);...HLo|
|00000930| 63 6b 28 28 48 61 6e 64 | 6c 65 29 74 68 65 49 6e |ck((Hand|le)theIn|
|00000940| 66 6f 2d 3e 64 61 74 61 | 32 29 3b 0d 09 09 72 65 |fo->data|2);...re|
|00000950| 74 75 72 6e 3b 0d 09 7d | 0d 09 4d 6f 76 65 48 48 |turn;..}|..MoveHH|
|00000960| 69 28 28 48 61 6e 64 6c | 65 29 74 68 65 49 6e 66 |i((Handl|e)theInf|
|00000970| 6f 2d 3e 64 61 74 61 32 | 29 3b 0d 09 48 4c 6f 63 |o->data2|);..HLoc|
|00000980| 6b 28 28 48 61 6e 64 6c | 65 29 74 68 65 49 6e 66 |k((Handl|e)theInf|
|00000990| 6f 2d 3e 64 61 74 61 32 | 29 3b 0d 09 74 68 65 53 |o->data2|);..theS|
|000009a0| 75 62 6a 65 63 74 73 20 | 3d 20 28 54 53 75 62 6a |ubjects |= (TSubj|
|000009b0| 65 63 74 20 2a 29 20 2a | 28 28 48 61 6e 64 6c 65 |ect *) *|((Handle|
|000009c0| 29 74 68 65 49 6e 66 6f | 2d 3e 64 61 74 61 32 29 |)theInfo|->data2)|
|000009d0| 3b 0d 09 09 09 0d 09 4c | 44 6f 44 72 61 77 28 66 |;......L|DoDraw(f|
|000009e0| 61 6c 73 65 2c 74 68 65 | 4c 69 73 74 29 3b 0d 09 |alse,the|List);..|
|000009f0| 69 66 20 28 47 65 74 4d | 65 73 73 61 67 65 73 28 |if (GetM|essages(|
|00000a00| 6e 65 77 73 47 72 6f 75 | 70 2c 66 69 72 73 74 2c |newsGrou|p,first,|
|00000a10| 6c 61 73 74 2c 26 74 68 | 65 53 75 62 6a 65 63 74 |last,&th|eSubject|
|00000a20| 73 5b 74 68 65 49 6e 66 | 6f 2d 3e 6e 75 6d 53 75 |s[theInf|o->numSu|
|00000a30| 62 6a 65 63 74 73 5d 2c | 26 6e 75 6d 4d 65 73 73 |bjects],|&numMess|
|00000a40| 61 67 65 73 2c 22 53 55 | 42 4a 45 43 54 22 29 20 |ages,"SU|BJECT") |
|00000a50| 3d 3d 20 6e 6f 45 72 72 | 29 20 7b 0d 09 09 53 74 |== noErr|) {...St|
|00000a60| 61 74 75 73 57 69 6e 64 | 6f 77 28 22 42 75 69 6c |atusWind|ow("Buil|
|00000a70| 64 69 6e 67 20 53 75 62 | 6a 65 63 74 20 4c 69 73 |ding Sub|ject Lis|
|00000a80| 74 2e 2e 2e 22 2c 2d 31 | 29 3b 0d 09 09 47 69 76 |t...",-1|);...Giv|
|00000a90| 65 54 69 6d 65 28 30 29 | 3b 0d 09 09 66 6f 72 20 |eTime(0)|;...for |
|00000aa0| 28 69 3d 74 68 65 49 6e | 66 6f 2d 3e 6e 75 6d 53 |(i=theIn|fo->numS|
|00000ab0| 75 62 6a 65 63 74 73 3b | 20 69 3c 6e 75 6d 4d 65 |ubjects;| i<numMe|
|00000ac0| 73 73 61 67 65 73 2b 74 | 68 65 49 6e 66 6f 2d 3e |ssages+t|heInfo->|
|00000ad0| 6e 75 6d 53 75 62 6a 65 | 63 74 73 3b 20 69 2b 2b |numSubje|cts; i++|
|00000ae0| 29 20 7b 0d 09 09 09 53 | 65 74 50 74 28 26 74 68 |) {....S|etPt(&th|
|00000af0| 65 43 65 6c 6c 2c 30 2c | 30 29 3b 0d 09 09 09 6f |eCell,0,|0);....o|
|00000b00| 6c 64 43 65 6c 6c 20 3d | 20 74 68 65 43 65 6c 6c |ldCell =| theCell|
|00000b10| 3b 0d 09 09 09 73 74 72 | 63 70 79 28 28 63 68 61 |;....str|cpy((cha|
|00000b20| 72 20 2a 29 74 6d 70 53 | 74 72 2c 74 68 65 53 75 |r *)tmpS|tr,theSu|
|00000b30| 62 6a 65 63 74 73 5b 69 | 5d 2e 6e 61 6d 65 29 3b |bjects[i|].name);|
|00000b40| 0d 09 09 09 74 6d 70 53 | 74 72 5b 73 74 72 6c 65 |....tmpS|tr[strle|
|00000b50| 6e 28 28 63 68 61 72 20 | 2a 29 74 6d 70 53 74 72 |n((char |*)tmpStr|
|00000b60| 29 2b 31 5d 20 3d 20 30 | 78 66 66 3b 0d 09 09 09 |)+1] = 0|xff;....|
|00000b70| 44 69 73 70 6f 73 50 74 | 72 28 74 68 65 53 75 62 |DisposPt|r(theSub|
|00000b80| 6a 65 63 74 73 5b 69 5d | 2e 6e 61 6d 65 29 3b 0d |jects[i]|.name);.|
|00000b90| 09 09 09 0d 09 09 09 69 | 66 20 28 21 67 50 72 65 |.......i|f (!gPre|
|00000ba0| 66 73 2e 6d 6f 73 74 52 | 65 63 65 6e 74 46 69 72 |fs.mostR|ecentFir|
|00000bb0| 73 74 29 20 7b 0d 09 09 | 09 09 77 68 69 6c 65 20 |st) {...|..while |
|00000bc0| 28 4c 53 65 61 72 63 68 | 28 74 6d 70 53 74 72 2c |(LSearch|(tmpStr,|
|00000bd0| 73 74 72 6c 65 6e 28 28 | 63 68 61 72 20 2a 29 74 |strlen((|char *)t|
|00000be0| 6d 70 53 74 72 29 2b 32 | 2c 53 75 62 6a 65 63 74 |mpStr)+2|,Subject|
|00000bf0| 43 6f 6d 70 61 72 65 2c | 26 74 68 65 43 65 6c 6c |Compare,|&theCell|
|00000c00| 2c 74 68 65 4c 69 73 74 | 29 29 20 7b 0d 09 09 09 |,theList|)) {....|
|00000c10| 09 09 74 68 65 43 65 6c | 6c 2e 76 2b 2b 3b 0d 09 |..theCel|l.v++;..|
|00000c20| 09 09 09 09 6f 6c 64 43 | 65 6c 6c 20 3d 20 74 68 |....oldC|ell = th|
|00000c30| 65 43 65 6c 6c 3b 0d 09 | 09 09 09 09 47 69 76 65 |eCell;..|....Give|
|00000c40| 54 69 6d 65 28 30 29 3b | 0d 09 09 09 09 7d 0d 09 |Time(0);|.....}..|
|00000c50| 09 09 09 69 66 20 28 6f | 6c 64 43 65 6c 6c 2e 76 |...if (o|ldCell.v|
|00000c60| 20 21 3d 20 30 29 0d 09 | 09 09 09 09 74 68 65 43 | != 0)..|....theC|
|00000c70| 65 6c 6c 20 3d 20 6f 6c | 64 43 65 6c 6c 3b 0d 09 |ell = ol|dCell;..|
|00000c80| 09 09 7d 0d 09 09 09 65 | 6c 73 65 0d 09 09 09 09 |..}....e|lse.....|
|00000c90| 69 66 20 28 21 4c 53 65 | 61 72 63 68 28 74 6d 70 |if (!LSe|arch(tmp|
|00000ca0| 53 74 72 2c 73 74 72 6c | 65 6e 28 28 63 68 61 72 |Str,strl|en((char|
|00000cb0| 20 2a 29 74 6d 70 53 74 | 72 29 2b 32 2c 53 75 62 | *)tmpSt|r)+2,Sub|
|00000cc0| 6a 65 63 74 43 6f 6d 70 | 61 72 65 2c 26 74 68 65 |jectComp|are,&the|
|00000cd0| 43 65 6c 6c 2c 74 68 65 | 4c 69 73 74 29 29 0d 09 |Cell,the|List))..|
|00000ce0| 09 09 09 09 74 68 65 43 | 65 6c 6c 2e 76 20 3d 20 |....theC|ell.v = |
|00000cf0| 30 3b 0d 09 09 09 0d 09 | 09 09 4c 41 64 64 52 6f |0;......|..LAddRo|
|00000d00| 77 28 31 2c 74 68 65 43 | 65 6c 6c 2e 76 2c 74 68 |w(1,theC|ell.v,th|
|00000d10| 65 4c 69 73 74 29 3b 0d | 09 09 09 4c 53 65 74 43 |eList);.|...LSetC|
|00000d20| 65 6c 6c 28 74 6d 70 53 | 74 72 2c 73 74 72 6c 65 |ell(tmpS|tr,strle|
|00000d30| 6e 28 28 63 68 61 72 20 | 2a 29 74 6d 70 53 74 72 |n((char |*)tmpStr|
|00000d40| 29 2b 32 2c 74 68 65 43 | 65 6c 6c 2c 74 68 65 4c |)+2,theC|ell,theL|
|00000d50| 69 73 74 29 3b 0d 09 09 | 09 53 74 61 74 75 73 57 |ist);...|.StatusW|
|00000d60| 69 6e 64 6f 77 28 22 42 | 75 69 6c 64 69 6e 67 20 |indow("B|uilding |
|00000d70| 53 75 62 6a 65 63 74 20 | 4c 69 73 74 2e 2e 2e 22 |Subject |List..."|
|00000d80| 2c 28 73 68 6f 72 74 29 | 28 28 28 66 6c 6f 61 74 |,(short)|(((float|
|00000d90| 29 28 69 2b 31 29 2f 28 | 66 6c 6f 61 74 29 28 6e |)(i+1)/(|float)(n|
|00000da0| 75 6d 4d 65 73 73 61 67 | 65 73 2b 74 68 65 49 6e |umMessag|es+theIn|
|00000db0| 66 6f 2d 3e 6e 75 6d 53 | 75 62 6a 65 63 74 73 29 |fo->numS|ubjects)|
|00000dc0| 29 2a 31 30 30 29 29 3b | 0d 09 09 09 47 69 76 65 |)*100));|....Give|
|00000dd0| 54 69 6d 65 28 30 29 3b | 0d 09 09 7d 0d 09 7d 0d |Time(0);|...}..}.|
|00000de0| 09 4c 44 6f 44 72 61 77 | 28 74 72 75 65 2c 74 68 |.LDoDraw|(true,th|
|00000df0| 65 4c 69 73 74 29 3b 0d | 09 74 68 65 49 6e 66 6f |eList);.|.theInfo|
|00000e00| 2d 3e 6e 75 6d 53 75 62 | 6a 65 63 74 73 20 2b 3d |->numSub|jects +=|
|00000e10| 20 6e 75 6d 4d 65 73 73 | 61 67 65 73 3b 0d 09 0d | numMess|ages;...|
|00000e20| 09 53 65 74 43 75 72 73 | 6f 72 28 26 51 44 41 52 |.SetCurs|or(&QDAR|
|00000e30| 52 4f 57 29 3b 0d 7d 0d | 0d 0d 2f 2a 09 53 75 62 |ROW);.}.|../*.Sub|
|00000e40| 6a 65 63 74 43 6f 6d 70 | 61 72 65 20 69 73 20 75 |jectComp|are is u|
|00000e50| 73 65 64 20 74 6f 20 64 | 65 74 65 72 6d 69 6e 65 |sed to d|etermine|
|00000e60| 20 77 68 65 72 65 20 74 | 6f 20 69 6e 73 65 72 74 | where t|o insert|
|00000e70| 20 61 20 6e 65 77 20 73 | 75 62 6a 65 63 74 20 73 | a new s|ubject s|
|00000e80| 74 72 69 6e 67 0d 09 69 | 6e 74 6f 20 61 6e 20 65 |tring..i|nto an e|
|00000e90| 78 69 73 74 69 6e 67 20 | 6c 69 73 74 20 6f 66 20 |xisting |list of |
|00000ea0| 73 75 62 6a 65 63 74 73 | 2e 20 20 54 68 65 20 52 |subjects|. The R|
|00000eb0| 65 3a 20 61 6e 64 20 61 | 72 74 69 63 6c 65 20 6e |e: and a|rticle n|
|00000ec0| 75 6d 62 65 72 20 61 72 | 65 20 73 74 72 69 70 70 |umber ar|e stripp|
|00000ed0| 65 64 2c 0d 09 61 6e 64 | 20 74 68 65 20 73 75 62 |ed,..and| the sub|
|00000ee0| 6a 65 63 74 20 73 74 72 | 69 6e 67 73 20 61 72 65 |ject str|ings are|
|00000ef0| 20 74 68 65 6e 20 63 6f | 6d 70 61 72 65 64 2e 0d | then co|mpared..|
|00000f00| 2a 2f 0d 0d 70 61 73 63 | 61 6c 20 73 68 6f 72 74 |*/..pasc|al short|
|00000f10| 20 53 75 62 6a 65 63 74 | 43 6f 6d 70 61 72 65 28 | Subject|Compare(|
|00000f20| 63 68 61 72 20 2a 61 50 | 74 72 2c 63 68 61 72 20 |char *aP|tr,char |
|00000f30| 2a 62 50 74 72 2c 73 68 | 6f 72 74 20 61 4c 65 6e |*bPtr,sh|ort aLen|
|00000f40| 2c 73 68 6f 72 74 20 62 | 4c 65 6e 29 0d 7b 0d 09 |,short b|Len).{..|
|00000f50| 2f 2a 20 72 65 6d 6f 76 | 65 20 6c 65 61 64 69 6e |/* remov|e leadin|
|00000f60| 67 20 73 70 61 63 65 20 | 2a 2f 0d 09 0d 09 61 50 |g space |*/....aP|
|00000f70| 74 72 2b 2b 3b 0d 09 62 | 50 74 72 2b 2b 3b 0d 09 |tr++;..b|Ptr++;..|
|00000f80| 61 4c 65 6e 2d 2d 3b 0d | 09 62 4c 65 6e 2d 2d 3b |aLen--;.|.bLen--;|
|00000f90| 0d 09 0d 09 2f 2a 20 72 | 65 6d 6f 76 65 20 61 72 |..../* r|emove ar|
|00000fa0| 74 69 63 6c 65 20 6e 75 | 6d 62 65 72 73 20 2a 2f |ticle nu|mbers */|
|00000fb0| 0d 0d 09 77 68 69 6c 65 | 20 28 61 50 74 72 20 26 |...while| (aPtr &|
|00000fc0| 26 20 2a 61 50 74 72 20 | 21 3d 20 27 20 27 29 20 |& *aPtr |!= ' ') |
|00000fd0| 7b 0d 09 09 61 50 74 72 | 2b 2b 3b 0d 09 09 61 4c |{...aPtr|++;...aL|
|00000fe0| 65 6e 2d 2d 3b 0d 09 7d | 0d 09 77 68 69 6c 65 20 |en--;..}|..while |
|00000ff0| 28 62 50 74 72 20 26 26 | 20 2a 62 50 74 72 20 21 |(bPtr &&| *bPtr !|
|00001000| 3d 20 27 20 27 29 20 7b | 0d 09 09 62 50 74 72 2b |= ' ') {|...bPtr+|
|00001010| 2b 3b 0d 09 09 62 4c 65 | 6e 2d 2d 3b 0d 09 7d 0d |+;...bLe|n--;..}.|
|00001020| 0d 09 2f 2a 20 72 65 6d | 6f 76 65 20 72 65 70 6c |../* rem|ove repl|
|00001030| 79 20 69 6e 64 69 63 61 | 74 6f 72 20 2a 2f 0d 0d |y indica|tor */..|
|00001040| 09 69 66 20 28 73 74 72 | 6e 63 6d 70 28 61 50 74 |.if (str|ncmp(aPt|
|00001050| 72 2c 22 20 52 65 3a 22 | 2c 34 29 3d 3d 30 29 20 |r," Re:"|,4)==0) |
|00001060| 7b 0d 09 09 61 50 74 72 | 20 2b 3d 20 34 3b 0d 09 |{...aPtr| += 4;..|
|00001070| 09 61 4c 65 6e 20 2d 3d | 20 34 3b 0d 09 7d 0d 09 |.aLen -=| 4;..}..|
|00001080| 69 66 20 28 73 74 72 6e | 63 6d 70 28 62 50 74 72 |if (strn|cmp(bPtr|
|00001090| 2c 22 20 52 65 3a 22 2c | 34 29 3d 3d 30 29 20 7b |," Re:",|4)==0) {|
|000010a0| 0d 09 09 62 50 74 72 20 | 2b 3d 20 34 3b 0d 09 09 |...bPtr |+= 4;...|
|000010b0| 62 4c 65 6e 20 2d 3d 20 | 34 3b 0d 09 7d 0d 09 0d |bLen -= |4;..}...|
|000010c0| 09 72 65 74 75 72 6e 20 | 49 55 4d 61 67 49 44 53 |.return |IUMagIDS|
|000010d0| 74 72 69 6e 67 28 61 50 | 74 72 2c 62 50 74 72 2c |tring(aP|tr,bPtr,|
|000010e0| 61 4c 65 6e 2c 62 4c 65 | 6e 29 3b 0d 7d 0d 0d 0d |aLen,bLe|n);.}...|
|000010f0| 2f 2a 09 54 68 69 73 20 | 72 6f 75 74 69 6e 65 20 |/*.This |routine |
|00001100| 72 65 6d 6f 76 65 73 20 | 63 6f 6c 6f 6e 73 2c 20 |removes |colons, |
|00001110| 63 68 65 63 6b 20 6d 61 | 72 6b 73 2c 20 6f 72 20 |check ma|rks, or |
|00001120| 72 65 74 75 72 6e 73 20 | 66 72 6f 6d 20 74 68 65 |returns |from the|
|00001130| 20 74 69 74 6c 65 73 20 | 6f 66 0d 09 61 72 74 69 | titles |of..arti|
|00001140| 63 6c 65 73 2e 20 20 54 | 68 69 73 20 69 6e 73 75 |cles. T|his insu|
|00001150| 72 65 73 20 74 68 61 74 | 20 74 68 65 20 73 74 72 |res that| the str|
|00001160| 69 6e 67 20 72 65 74 75 | 72 6e 65 64 20 69 73 20 |ing retu|rned is |
|00001170| 61 20 6c 65 67 61 6c 20 | 66 69 6c 65 6e 61 6d 65 |a legal |filename|
|00001180| 2e 0d 2a 2f 0d 0d 63 68 | 61 72 20 2a 54 69 74 6c |..*/..ch|ar *Titl|
|00001190| 65 46 69 6c 74 65 72 28 | 63 68 61 72 20 2a 74 69 |eFilter(|char *ti|
|000011a0| 74 6c 65 29 0d 7b 0d 09 | 73 68 6f 72 74 20 69 3b |tle).{..|short i;|
|000011b0| 0d 09 0d 09 66 6f 72 20 | 28 69 3d 31 3b 20 69 3c |....for |(i=1; i<|
|000011c0| 3d 74 69 74 6c 65 5b 30 | 5d 3b 20 69 2b 2b 29 20 |=title[0|]; i++) |
|000011d0| 7b 0d 09 09 73 77 69 74 | 63 68 20 28 74 69 74 6c |{...swit|ch (titl|
|000011e0| 65 5b 69 5d 29 20 7b 0d | 09 09 09 63 61 73 65 20 |e[i]) {.|...case |
|000011f0| 43 52 3a 0d 09 09 09 63 | 61 73 65 20 27 3a 27 3a |CR:....c|ase ':':|
|00001200| 0d 09 09 09 63 61 73 65 | 20 27 c3 27 3a 0d 09 09 |....case| '.':...|
|00001210| 09 09 74 69 74 6c 65 5b | 69 5d 20 3d 20 27 20 27 |..title[|i] = ' '|
|00001220| 3b 0d 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 7d |;.....br|eak;...}|
|00001230| 0d 09 7d 0d 09 69 66 20 | 28 74 69 74 6c 65 5b 30 |..}..if |(title[0|
|00001240| 5d 20 3e 20 33 31 29 0d | 09 09 74 69 74 6c 65 5b |] > 31).|..title[|
|00001250| 30 5d 20 3d 20 33 31 3b | 0d 09 72 65 74 75 72 6e |0] = 31;|..return|
|00001260| 20 74 69 74 6c 65 3b 0d | 7d 0d 0d 0d 2f 2a 09 44 | title;.|}.../*.D|
|00001270| 6f 53 61 76 65 57 69 6e | 64 6f 77 20 69 73 20 63 |oSaveWin|dow is c|
|00001280| 61 6c 6c 65 64 20 77 68 | 65 6e 20 74 68 65 20 75 |alled wh|en the u|
|00001290| 73 65 72 20 69 73 73 75 | 65 73 20 61 20 53 61 76 |ser issu|es a Sav|
|000012a0| 65 20 63 6f 6d 6d 61 6e | 64 20 66 6f 72 20 61 0d |e comman|d for a.|
|000012b0| 09 4e 45 57 20 61 72 74 | 69 63 6c 65 20 77 69 6e |.NEW art|icle win|
|000012c0| 64 6f 77 2e 20 20 54 68 | 65 20 74 65 78 74 20 6f |dow. Th|e text o|
|000012d0| 66 20 74 68 65 20 61 72 | 74 69 63 6c 65 20 69 73 |f the ar|ticle is|
|000012e0| 20 73 61 76 65 64 20 74 | 6f 20 61 20 74 65 78 74 | saved t|o a text|
|000012f0| 20 66 69 6c 65 0d 09 6f | 6e 20 64 69 73 6b 2e 0d | file..o|n disk..|
|00001300| 2a 2f 0d 0d 42 6f 6f 6c | 65 61 6e 20 44 6f 53 61 |*/..Bool|ean DoSa|
|00001310| 76 65 57 69 6e 64 6f 77 | 28 57 69 6e 64 6f 77 50 |veWindow|(WindowP|
|00001320| 74 72 20 77 69 6e 64 29 | 0d 7b 0d 09 50 6f 69 6e |tr wind)|.{..Poin|
|00001330| 74 20 77 68 65 72 65 20 | 3d 20 7b 31 30 30 2c 31 |t where |= {100,1|
|00001340| 30 30 7d 3b 0d 09 53 46 | 52 65 70 6c 79 20 72 65 |00};..SF|Reply re|
|00001350| 70 6c 79 3b 0d 09 53 74 | 72 32 35 35 20 64 65 66 |ply;..St|r255 def|
|00001360| 61 75 6c 74 4e 61 6d 65 | 3b 0d 09 54 77 69 6e 64 |aultName|;..Twind|
|00001370| 6f 77 49 6e 66 6f 20 2a | 69 6e 66 6f 3b 0d 09 4f |owInfo *|info;..O|
|00001380| 53 45 72 72 20 65 72 72 | 3b 0d 09 6c 6f 6e 67 20 |SErr err|;..long |
|00001390| 63 6f 75 6e 74 3b 0d 09 | 73 68 6f 72 74 20 66 52 |count;..|short fR|
|000013a0| 65 66 4e 75 6d 3b 0d 09 | 0d 09 47 65 74 57 54 69 |efNum;..|..GetWTi|
|000013b0| 74 6c 65 28 77 69 6e 64 | 2c 64 65 66 61 75 6c 74 |tle(wind|,default|
|000013c0| 4e 61 6d 65 29 3b 0d 09 | 54 69 74 6c 65 46 69 6c |Name);..|TitleFil|
|000013d0| 74 65 72 28 28 63 68 61 | 72 20 2a 29 64 65 66 61 |ter((cha|r *)defa|
|000013e0| 75 6c 74 4e 61 6d 65 29 | 3b 0d 09 0d 09 69 6e 66 |ultName)|;....inf|
|000013f0| 6f 20 3d 20 28 54 77 69 | 6e 64 6f 77 49 6e 66 6f |o = (Twi|ndowInfo|
|00001400| 20 2a 29 47 65 74 57 52 | 65 66 43 6f 6e 28 77 69 | *)GetWR|efCon(wi|
|00001410| 6e 64 29 3b 0d 09 0d 09 | 53 46 50 75 74 46 69 6c |nd);....|SFPutFil|
|00001420| 65 28 77 68 65 72 65 2c | 28 53 74 72 69 6e 67 50 |e(where,|(StringP|
|00001430| 74 72 29 22 5c 70 53 61 | 76 65 20 6d 65 73 73 61 |tr)"\pSa|ve messa|
|00001440| 67 65 20 61 73 3a 22 2c | 64 65 66 61 75 6c 74 4e |ge as:",|defaultN|
|00001450| 61 6d 65 2c 6e 69 6c 2c | 26 72 65 70 6c 79 29 3b |ame,nil,|&reply);|
|00001460| 0d 20 20 20 20 69 66 20 | 28 21 72 65 70 6c 79 2e |. if |(!reply.|
|00001470| 67 6f 6f 64 29 0d 09 09 | 72 65 74 75 72 6e 20 66 |good)...|return f|
|00001480| 61 6c 73 65 3b 0d 09 09 | 0d 09 69 66 20 28 28 65 |alse;...|..if ((e|
|00001490| 72 72 20 3d 20 43 72 65 | 61 74 65 28 72 65 70 6c |rr = Cre|ate(repl|
|000014a0| 79 2e 66 4e 61 6d 65 2c | 72 65 70 6c 79 2e 76 52 |y.fName,|reply.vR|
|000014b0| 65 66 4e 75 6d 2c 6b 54 | 65 78 74 43 72 65 61 74 |efNum,kT|extCreat|
|000014c0| 6f 72 2c 27 54 45 58 54 | 27 29 29 20 3d 3d 20 64 |or,'TEXT|')) == d|
|000014d0| 75 70 46 4e 45 72 72 29 | 20 7b 0d 09 09 46 53 4f |upFNErr)| {...FSO|
|000014e0| 70 65 6e 28 72 65 70 6c | 79 2e 66 4e 61 6d 65 2c |pen(repl|y.fName,|
|000014f0| 72 65 70 6c 79 2e 76 52 | 65 66 4e 75 6d 2c 26 66 |reply.vR|efNum,&f|
|00001500| 52 65 66 4e 75 6d 29 3b | 0d 09 09 65 72 72 20 3d |RefNum);|...err =|
|00001510| 20 53 65 74 45 4f 46 28 | 66 52 65 66 4e 75 6d 2c | SetEOF(|fRefNum,|
|00001520| 30 29 3b 0d 09 09 46 53 | 43 6c 6f 73 65 28 66 52 |0);...FS|Close(fR|
|00001530| 65 66 4e 75 6d 29 3b 0d | 09 7d 0d 09 69 66 20 28 |efNum);.|.}..if (|
|00001540| 65 72 72 20 21 3d 20 6e | 6f 45 72 72 29 0d 09 09 |err != n|oErr)...|
|00001550| 72 65 74 75 72 6e 20 66 | 61 6c 73 65 3b 0d 09 09 |return f|alse;...|
|00001560| 0d 09 69 66 20 28 46 53 | 4f 70 65 6e 28 72 65 70 |..if (FS|Open(rep|
|00001570| 6c 79 2e 66 4e 61 6d 65 | 2c 72 65 70 6c 79 2e 76 |ly.fName|,reply.v|
|00001580| 52 65 66 4e 75 6d 2c 26 | 66 52 65 66 4e 75 6d 29 |RefNum,&|fRefNum)|
|00001590| 20 21 3d 20 6e 6f 45 72 | 72 29 0d 09 09 72 65 74 | != noEr|r)...ret|
|000015a0| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 09 0d 09 48 4c |urn fals|e;....HL|
|000015b0| 6f 63 6b 28 28 2a 2a 28 | 54 45 48 61 6e 64 6c 65 |ock((**(|TEHandle|
|000015c0| 29 69 6e 66 6f 2d 3e 64 | 61 74 61 29 2e 68 54 65 |)info->d|ata).hTe|
|000015d0| 78 74 29 3b 0d 09 63 6f | 75 6e 74 20 3d 20 28 2a |xt);..co|unt = (*|
|000015e0| 2a 28 54 45 48 61 6e 64 | 6c 65 29 69 6e 66 6f 2d |*(TEHand|le)info-|
|000015f0| 3e 64 61 74 61 29 2e 74 | 65 4c 65 6e 67 74 68 3b |>data).t|eLength;|
|00001600| 0d 09 46 53 57 72 69 74 | 65 28 66 52 65 66 4e 75 |..FSWrit|e(fRefNu|
|00001610| 6d 2c 26 63 6f 75 6e 74 | 2c 2a 28 2a 2a 28 54 45 |m,&count|,*(**(TE|
|00001620| 48 61 6e 64 6c 65 29 69 | 6e 66 6f 2d 3e 64 61 74 |Handle)i|nfo->dat|
|00001630| 61 29 2e 68 54 65 78 74 | 29 3b 0d 09 46 53 43 6c |a).hText|);..FSCl|
|00001640| 6f 73 65 28 66 52 65 66 | 4e 75 6d 29 3b 0d 09 48 |ose(fRef|Num);..H|
|00001650| 55 6e 6c 6f 63 6b 28 28 | 2a 2a 28 54 45 48 61 6e |Unlock((|**(TEHan|
|00001660| 64 6c 65 29 69 6e 66 6f | 2d 3e 64 61 74 61 29 2e |dle)info|->data).|
|00001670| 68 54 65 78 74 29 3b 0d | 09 72 65 74 75 72 6e 20 |hText);.|.return |
|00001680| 74 72 75 65 3b 0d 7d 0d | 0d 0d 2f 2a 09 44 6f 53 |true;.}.|../*.DoS|
|00001690| 61 76 65 4d 65 73 73 61 | 67 65 20 69 73 20 63 61 |aveMessa|ge is ca|
|000016a0| 6c 6c 65 64 20 77 68 65 | 6e 20 74 68 65 20 75 73 |lled whe|n the us|
|000016b0| 65 72 20 77 69 73 68 65 | 73 20 74 6f 20 73 61 76 |er wishe|s to sav|
|000016c0| 65 20 74 68 65 20 74 65 | 78 74 0d 09 6f 66 20 61 |e the te|xt..of a|
|000016d0| 6e 20 61 72 74 69 63 6c | 65 20 77 68 69 63 68 20 |n articl|e which |
|000016e0| 77 61 73 20 66 65 74 63 | 68 65 64 20 66 72 6f 6d |was fetc|hed from|
|000016f0| 20 74 68 65 20 6e 65 74 | 77 6f 72 6b 2e 20 20 49 | the net|work. I|
|00001700| 6e 20 74 68 69 73 20 63 | 61 73 65 2c 0d 09 74 68 |n this c|ase,..th|
|00001710| 65 20 66 75 6c 6c 20 74 | 65 78 74 20 6f 66 20 74 |e full t|ext of t|
|00001720| 68 65 20 61 72 74 69 63 | 6c 65 20 6d 75 73 74 20 |he artic|le must |
|00001730| 62 65 20 66 65 74 63 68 | 65 64 20 62 65 66 6f 72 |be fetch|ed befor|
|00001740| 65 20 74 68 65 20 73 61 | 76 65 2c 20 73 69 6e 63 |e the sa|ve, sinc|
|00001750| 65 0d 09 77 65 20 6d 75 | 73 74 20 61 6c 6c 6f 77 |e..we mu|st allow|
|00001760| 20 3e 33 32 6b 20 6d 65 | 73 73 61 67 65 73 2e 0d | >32k me|ssages..|
|00001770| 2a 2f 0d 0d 42 6f 6f 6c | 65 61 6e 20 44 6f 53 61 |*/..Bool|ean DoSa|
|00001780| 76 65 4d 65 73 73 61 67 | 65 28 54 77 69 6e 64 6f |veMessag|e(Twindo|
|00001790| 77 49 6e 66 6f 20 2a 69 | 6e 66 6f 29 0d 7b 0d 09 |wInfo *i|nfo).{..|
|000017a0| 50 6f 69 6e 74 20 77 68 | 65 72 65 20 3d 20 7b 31 |Point wh|ere = {1|
|000017b0| 30 30 2c 31 30 30 7d 3b | 0d 09 53 46 52 65 70 6c |00,100};|..SFRepl|
|000017c0| 79 20 72 65 70 6c 79 3b | 0d 09 53 74 72 32 35 35 |y reply;|..Str255|
|000017d0| 20 64 65 66 61 75 6c 74 | 4e 61 6d 65 3b 0d 09 63 | default|Name;..c|
|000017e0| 68 61 72 20 2a 74 65 78 | 74 3b 0d 09 6c 6f 6e 67 |har *tex|t;..long|
|000017f0| 20 6c 65 6e 67 74 68 3b | 0d 09 6c 6f 6e 67 20 6f | length;|..long o|
|00001800| 66 66 73 65 74 2c 6f 66 | 66 73 65 74 32 2c 6f 66 |ffset,of|fset2,of|
|00001810| 66 73 65 74 33 3b 0d 09 | 48 61 6e 64 6c 65 20 74 |fset3;..|Handle t|
|00001820| 65 54 65 78 74 3b 0d 09 | 63 68 61 72 20 6d 65 73 |eText;..|char mes|
|00001830| 73 61 67 65 49 44 5b 32 | 35 36 5d 3b 0d 09 4f 53 |sageID[2|56];..OS|
|00001840| 45 72 72 20 65 72 72 3b | 0d 09 73 68 6f 72 74 20 |Err err;|..short |
|00001850| 66 52 65 66 4e 75 6d 3b | 0d 09 63 68 61 72 20 6d |fRefNum;|..char m|
|00001860| 75 6e 67 65 54 65 78 74 | 5b 32 35 36 5d 3b 0d 09 |ungeText|[256];..|
|00001870| 0d 09 69 66 20 28 21 46 | 72 6f 6e 74 57 69 6e 64 |..if (!F|rontWind|
|00001880| 6f 77 28 29 29 20 7b 0d | 09 09 53 79 73 42 65 65 |ow()) {.|..SysBee|
|00001890| 70 28 31 29 3b 0d 09 09 | 72 65 74 75 72 6e 20 66 |p(1);...|return f|
|000018a0| 61 6c 73 65 3b 0d 09 7d | 0d 09 0d 09 47 65 74 57 |alse;..}|....GetW|
|000018b0| 54 69 74 6c 65 28 46 72 | 6f 6e 74 57 69 6e 64 6f |Title(Fr|ontWindo|
|000018c0| 77 28 29 2c 64 65 66 61 | 75 6c 74 4e 61 6d 65 29 |w(),defa|ultName)|
|000018d0| 3b 0d 09 0d 09 74 65 54 | 65 78 74 20 3d 20 28 48 |;....teT|ext = (H|
|000018e0| 61 6e 64 6c 65 29 20 54 | 45 47 65 74 54 65 78 74 |andle) T|EGetText|
|000018f0| 28 28 54 45 48 61 6e 64 | 6c 65 29 69 6e 66 6f 2d |((TEHand|le)info-|
|00001900| 3e 64 61 74 61 29 3b 0d | 0d 09 6f 66 66 73 65 74 |>data);.|..offset|
|00001910| 20 3d 20 4d 75 6e 67 65 | 72 28 74 65 54 65 78 74 | = Munge|r(teText|
|00001920| 2c 30 4c 2c 22 4d 65 73 | 73 61 67 65 2d 49 44 3a |,0L,"Mes|sage-ID:|
|00001930| 22 2c 31 31 4c 2c 6e 69 | 6c 2c 30 4c 29 3b 0d 09 |",11L,ni|l,0L);..|
|00001940| 6f 66 66 73 65 74 32 20 | 3d 20 4d 75 6e 67 65 72 |offset2 |= Munger|
|00001950| 28 74 65 54 65 78 74 2c | 6f 66 66 73 65 74 2c 43 |(teText,|offset,C|
|00001960| 52 53 54 52 2c 31 4c 2c | 6e 69 6c 2c 30 4c 29 3b |RSTR,1L,|nil,0L);|
|00001970| 0d 09 73 74 72 63 70 79 | 28 6d 75 6e 67 65 54 65 |..strcpy|(mungeTe|
|00001980| 78 74 2c 43 52 53 54 52 | 29 3b 0d 09 73 74 72 63 |xt,CRSTR|);..strc|
|00001990| 61 74 28 6d 75 6e 67 65 | 54 65 78 74 2c 43 52 53 |at(munge|Text,CRS|
|000019a0| 54 52 29 3b 0d 09 6f 66 | 66 73 65 74 33 20 3d 20 |TR);..of|fset3 = |
|000019b0| 4d 75 6e 67 65 72 28 74 | 65 54 65 78 74 2c 30 4c |Munger(t|eText,0L|
|000019c0| 2c 6d 75 6e 67 65 54 65 | 78 74 2c 32 4c 2c 6e 69 |,mungeTe|xt,2L,ni|
|000019d0| 6c 2c 30 4c 29 3b 0d 09 | 0d 09 69 66 20 28 6f 66 |l,0L);..|..if (of|
|000019e0| 66 73 65 74 20 3c 20 30 | 20 7c 7c 20 6f 66 66 73 |fset < 0| || offs|
|000019f0| 65 74 32 20 3c 20 30 20 | 7c 7c 20 6f 66 66 73 65 |et2 < 0 ||| offse|
|00001a00| 74 33 20 3c 20 30 20 7c | 7c 20 6f 66 66 73 65 74 |t3 < 0 ||| offset|
|00001a10| 32 20 3e 20 6f 66 66 73 | 65 74 33 29 0d 09 09 72 |2 > offs|et3)...r|
|00001a20| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 09 6f 66 |eturn fa|lse;..of|
|00001a30| 66 73 65 74 20 2b 3d 20 | 31 31 3b 0d 09 0d 09 48 |fset += |11;....H|
|00001a40| 4c 6f 63 6b 28 74 65 54 | 65 78 74 29 3b 0d 09 73 |Lock(teT|ext);..s|
|00001a50| 74 72 6e 63 70 79 28 6d | 65 73 73 61 67 65 49 44 |trncpy(m|essageID|
|00001a60| 2c 28 2a 74 65 54 65 78 | 74 29 2b 6f 66 66 73 65 |,(*teTex|t)+offse|
|00001a70| 74 2c 6f 66 66 73 65 74 | 32 20 2d 20 6f 66 66 73 |t,offset|2 - offs|
|00001a80| 65 74 29 3b 0d 09 6d 65 | 73 73 61 67 65 49 44 5b |et);..me|ssageID[|
|00001a90| 6f 66 66 73 65 74 32 2d | 6f 66 66 73 65 74 5d 20 |offset2-|offset] |
|00001aa0| 3d 20 27 5c 30 27 3b 0d | 09 48 55 6e 6c 6f 63 6b |= '\0';.|.HUnlock|
|00001ab0| 28 74 65 54 65 78 74 29 | 3b 0d 09 0d 09 69 66 20 |(teText)|;....if |
|00001ac0| 28 47 65 74 41 72 74 69 | 63 6c 65 28 6e 69 6c 2c |(GetArti|cle(nil,|
|00001ad0| 6d 65 73 73 61 67 65 49 | 44 2c 26 74 65 78 74 2c |messageI|D,&text,|
|00001ae0| 26 6c 65 6e 67 74 68 2c | 6b 4d 61 78 53 61 76 65 |&length,|kMaxSave|
|00001af0| 4c 65 6e 67 74 68 29 20 | 21 3d 20 6e 6f 45 72 72 |Length) |!= noErr|
|00001b00| 29 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |)...retu|rn false|
|00001b10| 3b 0d 09 09 0d 09 54 69 | 74 6c 65 46 69 6c 74 65 |;.....Ti|tleFilte|
|00001b20| 72 28 28 63 68 61 72 20 | 2a 29 64 65 66 61 75 6c |r((char |*)defaul|
|00001b30| 74 4e 61 6d 65 29 3b 0d | 09 53 46 50 75 74 46 69 |tName);.|.SFPutFi|
|00001b40| 6c 65 28 77 68 65 72 65 | 2c 28 53 74 72 69 6e 67 |le(where|,(String|
|00001b50| 50 74 72 29 22 5c 70 53 | 61 76 65 20 6d 65 73 73 |Ptr)"\pS|ave mess|
|00001b60| 61 67 65 20 61 73 3a 22 | 2c 64 65 66 61 75 6c 74 |age as:"|,default|
|00001b70| 4e 61 6d 65 2c 6e 69 6c | 2c 26 72 65 70 6c 79 29 |Name,nil|,&reply)|
|00001b80| 3b 0d 20 20 20 20 69 66 | 20 28 21 72 65 70 6c 79 |;. if| (!reply|
|00001b90| 2e 67 6f 6f 64 29 0d 09 | 09 72 65 74 75 72 6e 20 |.good)..|.return |
|00001ba0| 66 61 6c 73 65 3b 0d 0d | 09 69 66 20 28 28 65 72 |false;..|.if ((er|
|00001bb0| 72 20 3d 20 43 72 65 61 | 74 65 28 72 65 70 6c 79 |r = Crea|te(reply|
|00001bc0| 2e 66 4e 61 6d 65 2c 72 | 65 70 6c 79 2e 76 52 65 |.fName,r|eply.vRe|
|00001bd0| 66 4e 75 6d 2c 6b 54 65 | 78 74 43 72 65 61 74 6f |fNum,kTe|xtCreato|
|00001be0| 72 2c 27 54 45 58 54 27 | 29 29 20 3d 3d 20 64 75 |r,'TEXT'|)) == du|
|00001bf0| 70 46 4e 45 72 72 29 20 | 7b 0d 09 09 46 53 4f 70 |pFNErr) |{...FSOp|
|00001c00| 65 6e 28 72 65 70 6c 79 | 2e 66 4e 61 6d 65 2c 72 |en(reply|.fName,r|
|00001c10| 65 70 6c 79 2e 76 52 65 | 66 4e 75 6d 2c 26 66 52 |eply.vRe|fNum,&fR|
|00001c20| 65 66 4e 75 6d 29 3b 0d | 09 09 65 72 72 20 3d 20 |efNum);.|..err = |
|00001c30| 53 65 74 45 4f 46 28 66 | 52 65 66 4e 75 6d 2c 30 |SetEOF(f|RefNum,0|
|00001c40| 29 3b 0d 09 09 46 53 43 | 6c 6f 73 65 28 66 52 65 |);...FSC|lose(fRe|
|00001c50| 66 4e 75 6d 29 3b 0d 09 | 7d 0d 0d 09 69 66 20 28 |fNum);..|}...if (|
|00001c60| 65 72 72 20 21 3d 20 6e | 6f 45 72 72 29 20 7b 0d |err != n|oErr) {.|
|00001c70| 09 09 4d 79 44 69 73 70 | 6f 73 50 74 72 28 74 65 |..MyDisp|osPtr(te|
|00001c80| 78 74 29 3b 0d 09 09 72 | 65 74 75 72 6e 20 66 61 |xt);...r|eturn fa|
|00001c90| 6c 73 65 3b 0d 09 7d 0d | 09 09 0d 09 69 66 20 28 |lse;..}.|....if (|
|00001ca0| 46 53 4f 70 65 6e 28 72 | 65 70 6c 79 2e 66 4e 61 |FSOpen(r|eply.fNa|
|00001cb0| 6d 65 2c 72 65 70 6c 79 | 2e 76 52 65 66 4e 75 6d |me,reply|.vRefNum|
|00001cc0| 2c 26 66 52 65 66 4e 75 | 6d 29 20 21 3d 20 6e 6f |,&fRefNu|m) != no|
|00001cd0| 45 72 72 29 20 7b 0d 09 | 09 4d 79 44 69 73 70 6f |Err) {..|.MyDispo|
|00001ce0| 73 50 74 72 28 74 65 78 | 74 29 3b 0d 09 09 72 65 |sPtr(tex|t);...re|
|00001cf0| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 09 7d 0d 09 |turn fal|se;..}..|
|00001d00| 0d 09 46 53 57 72 69 74 | 65 28 66 52 65 66 4e 75 |..FSWrit|e(fRefNu|
|00001d10| 6d 2c 26 6c 65 6e 67 74 | 68 2c 74 65 78 74 29 3b |m,&lengt|h,text);|
|00001d20| 0d 09 09 0d 09 46 53 43 | 6c 6f 73 65 28 66 52 65 |.....FSC|lose(fRe|
|00001d30| 66 4e 75 6d 29 3b 0d 09 | 4d 79 44 69 73 70 6f 73 |fNum);..|MyDispos|
|00001d40| 50 74 72 28 74 65 78 74 | 29 3b 0d 7d 0d 0d 0d 2f |Ptr(text|);.}.../|
|00001d50| 2a 09 44 6f 4f 70 65 6e | 46 69 6c 65 20 69 73 20 |*.DoOpen|File is |
|00001d60| 63 61 6c 6c 65 64 20 77 | 68 65 6e 20 74 68 65 20 |called w|hen the |
|00001d70| 75 73 65 72 20 69 73 73 | 75 65 73 20 61 6e 20 4f |user iss|ues an O|
|00001d80| 70 65 6e 20 47 72 6f 75 | 70 20 4c 69 73 74 20 63 |pen Grou|p List c|
|00001d90| 6f 6d 6d 61 6e 64 0d 09 | 66 72 6f 6d 20 74 68 65 |ommand..|from the|
|00001da0| 20 46 69 6c 65 20 6d 65 | 6e 75 2e 20 20 54 68 69 | File me|nu. Thi|
|00001db0| 73 20 77 69 6c 6c 20 70 | 72 6f 6d 70 74 20 66 6f |s will p|rompt fo|
|00001dc0| 72 20 61 20 67 72 6f 75 | 70 73 20 6c 69 73 74 20 |r a grou|ps list |
|00001dd0| 74 6f 20 6f 70 65 6e 2e | 0d 2a 2f 0d 0d 76 6f 69 |to open.|.*/..voi|
|00001de0| 64 20 44 6f 4f 70 65 6e | 46 69 6c 65 28 76 6f 69 |d DoOpen|File(voi|
|00001df0| 64 29 0d 7b 0d 09 50 6f | 69 6e 74 20 77 68 65 72 |d).{..Po|int wher|
|00001e00| 65 20 3d 20 7b 31 30 30 | 2c 31 30 30 7d 3b 0d 09 |e = {100|,100};..|
|00001e10| 53 46 52 65 70 6c 79 20 | 72 65 70 6c 79 3b 0d 09 |SFReply |reply;..|
|00001e20| 0d 09 53 46 47 65 74 46 | 69 6c 65 28 77 68 65 72 |..SFGetF|ile(wher|
|00001e30| 65 2c 28 53 74 72 69 6e | 67 50 74 72 29 22 5c 70 |e,(Strin|gPtr)"\p|
|00001e40| 22 2c 6e 69 6c 2c 31 2c | 28 4f 53 54 79 70 65 20 |",nil,1,|(OSType |
|00001e50| 2a 29 22 4e 45 57 53 22 | 2c 6e 69 6c 2c 26 72 65 |*)"NEWS"|,nil,&re|
|00001e60| 70 6c 79 29 3b 0d 09 69 | 66 20 28 72 65 70 6c 79 |ply);..i|f (reply|
|00001e70| 2e 67 6f 6f 64 29 0d 09 | 09 4c 6f 4f 70 65 6e 46 |.good)..|.LoOpenF|
|00001e80| 69 6c 65 28 72 65 70 6c | 79 2e 66 4e 61 6d 65 2c |ile(repl|y.fName,|
|00001e90| 72 65 70 6c 79 2e 76 52 | 65 66 4e 75 6d 29 3b 0d |reply.vR|efNum);.|
|00001ea0| 7d 0d 0d 0d 2f 2a 09 4c | 6f 4f 70 65 6e 46 69 6c |}.../*.L|oOpenFil|
|00001eb0| 65 20 69 73 20 63 61 6c | 6c 65 64 20 62 79 20 44 |e is cal|led by D|
|00001ec0| 6f 4f 70 65 6e 46 69 6c | 65 20 6f 6e 63 65 20 61 |oOpenFil|e once a|
|00001ed0| 20 6e 61 6d 65 20 61 6e | 64 20 76 52 65 66 4e 75 | name an|d vRefNu|
|00001ee0| 6d 20 68 61 76 65 20 62 | 65 65 6e 0d 09 65 6e 74 |m have b|een..ent|
|00001ef0| 65 72 65 64 20 62 79 20 | 74 68 65 20 75 73 65 72 |ered by |the user|
|00001f00| 2e 20 20 54 68 69 73 20 | 72 6f 75 74 69 6e 65 20 |. This |routine |
|00001f10| 74 68 65 6e 20 6f 70 65 | 6e 73 20 74 68 65 20 66 |then ope|ns the f|
|00001f20| 69 6c 65 20 61 6e 64 20 | 70 61 72 73 65 73 20 69 |ile and |parses i|
|00001f30| 74 0d 09 66 6f 72 20 67 | 72 6f 75 70 73 2e 0d 2a |t..for g|roups..*|
|00001f40| 2f 0d 0d 4f 53 45 72 72 | 20 4c 6f 4f 70 65 6e 46 |/..OSErr| LoOpenF|
|00001f50| 69 6c 65 28 53 74 72 32 | 35 35 20 66 4e 61 6d 65 |ile(Str2|55 fName|
|00001f60| 2c 73 68 6f 72 74 20 76 | 52 65 66 4e 75 6d 29 0d |,short v|RefNum).|
|00001f70| 7b 0d 09 4f 53 45 72 72 | 20 65 72 72 3b 0d 09 73 |{..OSErr| err;..s|
|00001f80| 68 6f 72 74 20 66 52 65 | 66 4e 75 6d 3b 0d 09 6c |hort fRe|fNum;..l|
|00001f90| 6f 6e 67 20 6c 65 6e 67 | 74 68 3b 0d 09 63 68 61 |ong leng|th;..cha|
|00001fa0| 72 20 2a 6e 65 77 73 72 | 63 2c 2a 63 75 72 72 65 |r *newsr|c,*curre|
|00001fb0| 6e 74 3b 0d 09 57 69 6e | 64 6f 77 50 74 72 20 77 |nt;..Win|dowPtr w|
|00001fc0| 69 6e 64 6f 77 3b 0d 09 | 54 77 69 6e 64 6f 77 49 |indow;..|TwindowI|
|00001fd0| 6e 66 6f 20 2a 69 6e 66 | 6f 3b 0d 09 50 6f 69 6e |nfo *inf|o;..Poin|
|00001fe0| 74 20 74 68 65 50 74 3b | 0d 09 65 78 74 65 72 6e |t thePt;|..extern|
|00001ff0| 20 54 50 72 65 66 52 65 | 63 20 67 50 72 65 66 73 | TPrefRe|c gPrefs|
|00002000| 3b 0d 09 0d 09 69 66 20 | 28 28 65 72 72 20 3d 20 |;....if |((err = |
|00002010| 46 53 4f 70 65 6e 28 66 | 4e 61 6d 65 2c 76 52 65 |FSOpen(f|Name,vRe|
|00002020| 66 4e 75 6d 2c 26 66 52 | 65 66 4e 75 6d 29 29 20 |fNum,&fR|efNum)) |
|00002030| 21 3d 20 6e 6f 45 72 72 | 29 0d 09 09 72 65 74 75 |!= noErr|)...retu|
|00002040| 72 6e 20 65 72 72 3b 0d | 09 69 66 20 28 28 65 72 |rn err;.|.if ((er|
|00002050| 72 20 3d 20 47 65 74 45 | 4f 46 28 66 52 65 66 4e |r = GetE|OF(fRefN|
|00002060| 75 6d 2c 26 6c 65 6e 67 | 74 68 29 29 20 3d 3d 20 |um,&leng|th)) == |
|00002070| 6e 6f 45 72 72 29 20 7b | 09 0d 09 09 6e 65 77 73 |noErr) {|....news|
|00002080| 72 63 20 3d 20 63 75 72 | 72 65 6e 74 20 3d 20 28 |rc = cur|rent = (|
|00002090| 63 68 61 72 20 2a 29 4d | 79 4e 65 77 50 74 72 28 |char *)M|yNewPtr(|
|000020a0| 6c 65 6e 67 74 68 2b 31 | 29 3b 0d 09 09 69 66 20 |length+1|);...if |
|000020b0| 28 28 65 72 72 20 3d 20 | 4d 79 4d 65 6d 45 72 72 |((err = |MyMemErr|
|000020c0| 28 29 29 20 3d 3d 20 6e | 6f 45 72 72 29 20 7b 0d |()) == n|oErr) {.|
|000020d0| 09 09 09 69 66 20 28 28 | 65 72 72 20 3d 20 46 53 |...if ((|err = FS|
|000020e0| 52 65 61 64 28 66 52 65 | 66 4e 75 6d 2c 26 6c 65 |Read(fRe|fNum,&le|
|000020f0| 6e 67 74 68 2c 6e 65 77 | 73 72 63 29 29 20 3d 3d |ngth,new|src)) ==|
|00002100| 20 6e 6f 45 72 72 29 20 | 7b 0d 09 09 09 09 6e 65 | noErr) |{.....ne|
|00002110| 77 73 72 63 5b 6c 65 6e | 67 74 68 5d 20 3d 20 27 |wsrc[len|gth] = '|
|00002120| 5c 30 27 3b 0d 09 09 09 | 09 69 6e 66 6f 20 3d 20 |\0';....|.info = |
|00002130| 28 54 77 69 6e 64 6f 77 | 49 6e 66 6f 20 2a 29 47 |(Twindow|Info *)G|
|00002140| 65 74 57 52 65 66 43 6f | 6e 28 77 69 6e 64 6f 77 |etWRefCo|n(window|
|00002150| 20 3d 20 4e 65 77 47 72 | 6f 75 70 57 69 6e 64 6f | = NewGr|oupWindo|
|00002160| 77 28 66 4e 61 6d 65 29 | 29 3b 0d 09 09 09 09 42 |w(fName)|);.....B|
|00002170| 6c 6f 63 6b 4d 6f 76 65 | 28 66 4e 61 6d 65 2c 69 |lockMove|(fName,i|
|00002180| 6e 66 6f 2d 3e 64 69 73 | 6b 46 69 6c 65 2c 66 4e |nfo->dis|kFile,fN|
|00002190| 61 6d 65 5b 30 5d 2b 31 | 29 3b 0d 09 09 09 09 69 |ame[0]+1|);.....i|
|000021a0| 6e 66 6f 2d 3e 64 69 73 | 6b 56 52 65 66 4e 75 6d |nfo->dis|kVRefNum|
|000021b0| 20 3d 20 76 52 65 66 4e | 75 6d 3b 0d 09 09 09 09 | = vRefN|um;.....|
|000021c0| 4c 44 6f 44 72 61 77 28 | 66 61 6c 73 65 2c 28 4c |LDoDraw(|false,(L|
|000021d0| 69 73 74 48 61 6e 64 6c | 65 29 69 6e 66 6f 2d 3e |istHandl|e)info->|
|000021e0| 64 61 74 61 29 3b 0d 09 | 09 09 09 77 68 69 6c 65 |data);..|...while|
|000021f0| 20 28 2a 63 75 72 72 65 | 6e 74 29 0d 09 09 09 09 | (*curre|nt).....|
|00002200| 09 50 72 6f 63 65 73 73 | 4c 69 6e 65 28 26 63 75 |.Process|Line(&cu|
|00002210| 72 72 65 6e 74 2c 77 69 | 6e 64 6f 77 29 3b 0d 09 |rrent,wi|ndow);..|
|00002220| 09 09 09 4c 44 6f 44 72 | 61 77 28 74 72 75 65 2c |...LDoDr|aw(true,|
|00002230| 28 4c 69 73 74 48 61 6e | 64 6c 65 29 69 6e 66 6f |(ListHan|dle)info|
|00002240| 2d 3e 64 61 74 61 29 3b | 0d 09 09 09 09 53 65 74 |->data);|.....Set|
|00002250| 50 74 28 26 74 68 65 50 | 74 2c 30 2c 30 29 3b 0d |Pt(&theP|t,0,0);.|
|00002260| 09 09 09 09 4c 53 65 74 | 53 65 6c 65 63 74 28 74 |....LSet|Select(t|
|00002270| 72 75 65 2c 74 68 65 50 | 74 2c 28 4c 69 73 74 48 |rue,theP|t,(ListH|
|00002280| 61 6e 64 6c 65 29 69 6e | 66 6f 2d 3e 64 61 74 61 |andle)in|fo->data|
|00002290| 29 3b 0d 09 09 09 09 69 | 6e 66 6f 2d 3e 63 68 61 |);.....i|nfo->cha|
|000022a0| 6e 67 65 64 20 3d 20 66 | 61 6c 73 65 3b 0d 09 09 |nged = f|alse;...|
|000022b0| 09 09 69 6e 66 6f 2d 3e | 73 61 76 65 64 20 3d 20 |..info->|saved = |
|000022c0| 74 72 75 65 3b 0d 09 09 | 09 09 69 66 20 28 67 50 |true;...|..if (gP|
|000022d0| 72 65 66 73 2e 6f 70 65 | 6e 57 69 6e 64 6f 77 73 |refs.ope|nWindows|
|000022e0| 5a 6f 6f 6d 65 64 29 0d | 09 09 09 09 09 54 6f 67 |Zoomed).|.....Tog|
|000022f0| 67 6c 65 5a 6f 6f 6d 28 | 77 69 6e 64 6f 77 29 3b |gleZoom(|window);|
|00002300| 0d 09 09 09 09 53 68 6f | 77 57 69 6e 64 6f 77 28 |.....Sho|wWindow(|
|00002310| 77 69 6e 64 6f 77 29 3b | 0d 09 09 09 09 53 65 74 |window);|.....Set|
|00002320| 50 6f 72 74 28 77 69 6e | 64 6f 77 29 3b 0d 09 09 |Port(win|dow);...|
|00002330| 09 09 49 6e 76 61 6c 52 | 65 63 74 28 26 77 69 6e |..InvalR|ect(&win|
|00002340| 64 6f 77 2d 3e 70 6f 72 | 74 52 65 63 74 29 3b 0d |dow->por|tRect);.|
|00002350| 09 09 09 7d 0d 09 09 09 | 4d 79 44 69 73 70 6f 73 |...}....|MyDispos|
|00002360| 50 74 72 28 6e 65 77 73 | 72 63 29 3b 0d 09 09 7d |Ptr(news|rc);...}|
|00002370| 0d 09 7d 0d 09 46 53 43 | 6c 6f 73 65 28 66 52 65 |..}..FSC|lose(fRe|
|00002380| 66 4e 75 6d 29 3b 0d 09 | 53 65 74 43 75 72 73 6f |fNum);..|SetCurso|
|00002390| 72 28 26 51 44 41 52 52 | 4f 57 29 3b 0d 09 72 65 |r(&QDARR|OW);..re|
|000023a0| 74 75 72 6e 20 65 72 72 | 3b 0d 7d 0d 0d 0d 2f 2a |turn err|;.}.../*|
|000023b0| 09 50 72 6f 63 65 73 73 | 4c 69 6e 65 20 70 61 72 |.Process|Line par|
|000023c0| 73 65 73 20 6f 75 74 20 | 61 20 67 72 6f 75 70 20 |ses out |a group |
|000023d0| 6e 61 6d 65 20 61 6e 64 | 20 67 72 6f 75 70 20 69 |name and| group i|
|000023e0| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 66 6f 72 20 61 |nformati|on for a|
|000023f0| 20 73 69 6e 67 6c 65 0d | 09 6c 69 6e 65 20 69 6e | single.|.line in|
|00002400| 20 74 68 65 20 6e 65 77 | 73 72 63 20 66 69 6c 65 | the new|src file|
|00002410| 2e 20 20 54 68 65 20 67 | 72 6f 75 70 20 69 73 20 |. The g|roup is |
|00002420| 74 68 65 6e 20 61 64 64 | 65 64 20 74 6f 20 74 68 |then add|ed to th|
|00002430| 65 20 6e 65 77 20 77 69 | 6e 64 6f 77 2e 0d 2a 2f |e new wi|ndow..*/|
|00002440| 0d 0d 76 6f 69 64 20 50 | 72 6f 63 65 73 73 4c 69 |..void P|rocessLi|
|00002450| 6e 65 28 63 68 61 72 20 | 2a 2a 6e 65 77 73 72 63 |ne(char |**newsrc|
|00002460| 2c 57 69 6e 64 6f 77 50 | 74 72 20 77 69 6e 64 6f |,WindowP|tr windo|
|00002470| 77 29 0d 7b 0d 09 63 68 | 61 72 20 6e 65 77 73 47 |w).{..ch|ar newsG|
|00002480| 72 6f 75 70 5b 32 35 36 | 5d 2c 2a 63 75 72 72 65 |roup[256|],*curre|
|00002490| 6e 74 3b 0d 09 65 78 74 | 65 72 6e 20 73 68 6f 72 |nt;..ext|ern shor|
|000024a0| 74 20 67 4e 75 6d 47 72 | 6f 75 70 73 3b 0d 09 65 |t gNumGr|oups;..e|
|000024b0| 78 74 65 72 6e 20 54 47 | 72 6f 75 70 20 2a 67 47 |xtern TG|roup *gG|
|000024c0| 72 6f 75 70 4c 69 73 74 | 3b 0d 09 54 47 72 6f 75 |roupList|;..TGrou|
|000024d0| 70 20 2a 6e 65 77 47 72 | 6f 75 70 3b 0d 09 6c 6f |p *newGr|oup;..lo|
|000024e0| 6e 67 20 69 2c 70 72 65 | 76 2c 74 6f 74 61 6c 4c |ng i,pre|v,totalL|
|000024f0| 61 73 74 2c 66 69 72 73 | 74 2c 6c 61 73 74 3b 0d |ast,firs|t,last;.|
|00002500| 09 42 6f 6f 6c 65 61 6e | 20 64 6f 6e 65 3b 0d 09 |.Boolean| done;..|
|00002510| 43 65 6c 6c 20 74 68 65 | 43 65 6c 6c 3b 0d 09 73 |Cell the|Cell;..s|
|00002520| 68 6f 72 74 20 6e 61 6d | 65 4c 65 6e 3b 0d 09 0d |hort nam|eLen;...|
|00002530| 09 66 6f 72 20 28 63 75 | 72 72 65 6e 74 20 3d 20 |.for (cu|rrent = |
|00002540| 6e 65 77 73 47 72 6f 75 | 70 3b 0d 09 09 2a 2a 6e |newsGrou|p;...**n|
|00002550| 65 77 73 72 63 20 26 26 | 20 2a 2a 6e 65 77 73 72 |ewsrc &&| **newsr|
|00002560| 63 20 21 3d 20 27 3a 27 | 20 26 26 20 2a 2a 6e 65 |c != ':'| && **ne|
|00002570| 77 73 72 63 20 21 3d 20 | 27 21 27 3b 0d 09 09 2a |wsrc != |'!';...*|
|00002580| 63 75 72 72 65 6e 74 2b | 2b 20 3d 20 2a 28 2a 6e |current+|+ = *(*n|
|00002590| 65 77 73 72 63 29 2b 2b | 29 0d 09 09 3b 0d 09 2a |ewsrc)++|)...;..*|
|000025a0| 63 75 72 72 65 6e 74 20 | 3d 20 27 5c 30 27 3b 0d |current |= '\0';.|
|000025b0| 09 69 66 20 28 2a 2a 6e | 65 77 73 72 63 20 3d 3d |.if (**n|ewsrc ==|
|000025c0| 20 27 3a 27 29 20 7b 0d | 09 09 28 2a 6e 65 77 73 | ':') {.|..(*news|
|000025d0| 72 63 29 2b 2b 3b 0d 09 | 09 66 6f 72 20 28 69 3d |rc)++;..|.for (i=|
|000025e0| 30 3b 20 69 3c 67 4e 75 | 6d 47 72 6f 75 70 73 20 |0; i<gNu|mGroups |
|000025f0| 26 26 20 73 74 72 63 6d | 70 28 6e 65 77 73 47 72 |&& strcm|p(newsGr|
|00002600| 6f 75 70 2c 67 47 72 6f | 75 70 4c 69 73 74 5b 69 |oup,gGro|upList[i|
|00002610| 5d 2e 6e 61 6d 65 29 21 | 3d 30 3b 20 69 2b 2b 29 |].name)!|=0; i++)|
|00002620| 0d 09 09 09 3b 0d 09 09 | 69 66 20 28 69 3c 67 4e |....;...|if (i<gN|
|00002630| 75 6d 47 72 6f 75 70 73 | 20 26 26 20 28 6e 65 77 |umGroups| && (new|
|00002640| 47 72 6f 75 70 20 3d 20 | 53 75 62 73 63 72 69 62 |Group = |Subscrib|
|00002650| 65 28 26 67 47 72 6f 75 | 70 4c 69 73 74 5b 69 5d |e(&gGrou|pList[i]|
|00002660| 2c 77 69 6e 64 6f 77 2c | 26 74 68 65 43 65 6c 6c |,window,|&theCell|
|00002670| 29 29 29 20 7b 0d 09 09 | 09 70 72 65 76 20 3d 20 |))) {...|.prev = |
|00002680| 6e 65 77 47 72 6f 75 70 | 2d 3e 72 65 61 64 2d 3e |newGroup|->read->|
|00002690| 66 69 72 73 74 52 65 61 | 64 3b 0d 09 09 09 74 6f |firstRea|d;....to|
|000026a0| 74 61 6c 4c 61 73 74 20 | 3d 20 6e 65 77 47 72 6f |talLast |= newGro|
|000026b0| 75 70 2d 3e 72 65 61 64 | 2d 3e 6c 61 73 74 52 65 |up->read|->lastRe|
|000026c0| 61 64 3b 0d 09 09 09 4d | 79 44 69 73 70 6f 73 50 |ad;....M|yDisposP|
|000026d0| 74 72 28 28 50 74 72 29 | 6e 65 77 47 72 6f 75 70 |tr((Ptr)|newGroup|
|000026e0| 2d 3e 72 65 61 64 29 3b | 0d 09 09 09 6e 65 77 47 |->read);|....newG|
|000026f0| 72 6f 75 70 2d 3e 72 65 | 61 64 20 3d 20 6e 69 6c |roup->re|ad = nil|
|00002700| 3b 0d 09 09 09 0d 09 09 | 09 64 6f 6e 65 20 3d 20 |;.......|.done = |
|00002710| 66 61 6c 73 65 3b 0d 09 | 09 09 64 6f 20 7b 0d 09 |false;..|..do {..|
|00002720| 09 09 09 77 68 69 6c 65 | 20 28 2a 2a 6e 65 77 73 |...while| (**news|
|00002730| 72 63 20 26 26 20 2a 2a | 6e 65 77 73 72 63 20 21 |rc && **|newsrc !|
|00002740| 3d 20 43 52 20 26 26 20 | 2a 2a 6e 65 77 73 72 63 |= CR && |**newsrc|
|00002750| 3c 27 30 27 20 26 26 20 | 2a 2a 6e 65 77 73 72 63 |<'0' && |**newsrc|
|00002760| 3e 27 39 27 29 0d 09 09 | 09 09 09 28 2a 6e 65 77 |>'9')...|...(*new|
|00002770| 73 72 63 29 2b 2b 3b 0d | 09 09 09 09 69 66 20 28 |src)++;.|....if (|
|00002780| 2a 2a 6e 65 77 73 72 63 | 20 26 26 20 2a 2a 6e 65 |**newsrc| && **ne|
|00002790| 77 73 72 63 20 21 3d 20 | 43 52 29 20 7b 0d 09 09 |wsrc != |CR) {...|
|000027a0| 09 09 09 47 65 74 42 6c | 61 6e 6b 28 6e 65 77 73 |...GetBl|ank(news|
|000027b0| 72 63 29 3b 0d 09 09 09 | 09 09 47 65 74 4e 75 6d |rc);....|..GetNum|
|000027c0| 62 65 72 28 6e 65 77 73 | 72 63 2c 26 66 69 72 73 |ber(news|rc,&firs|
|000027d0| 74 29 3b 0d 09 09 09 09 | 09 47 65 74 42 6c 61 6e |t);.....|.GetBlan|
|000027e0| 6b 28 6e 65 77 73 72 63 | 29 3b 0d 09 09 09 09 09 |k(newsrc|);......|
|000027f0| 69 66 20 28 2a 2a 6e 65 | 77 73 72 63 3d 3d 27 2d |if (**ne|wsrc=='-|
|00002800| 27 29 20 7b 0d 09 09 09 | 09 09 09 28 2a 6e 65 77 |') {....|...(*new|
|00002810| 73 72 63 29 2b 2b 3b 0d | 09 09 09 09 09 09 47 65 |src)++;.|......Ge|
|00002820| 74 42 6c 61 6e 6b 28 6e | 65 77 73 72 63 29 3b 0d |tBlank(n|ewsrc);.|
|00002830| 09 09 09 09 09 09 47 65 | 74 4e 75 6d 62 65 72 28 |......Ge|tNumber(|
|00002840| 6e 65 77 73 72 63 2c 26 | 6c 61 73 74 29 3b 0d 09 |newsrc,&|last);..|
|00002850| 09 09 09 09 7d 0d 09 09 | 09 09 09 65 6c 73 65 0d |....}...|...else.|
|00002860| 09 09 09 09 09 09 6c 61 | 73 74 20 3d 20 66 69 72 |......la|st = fir|
|00002870| 73 74 3b 0d 09 09 09 09 | 09 69 66 20 28 70 72 65 |st;.....|.if (pre|
|00002880| 76 20 3c 3d 20 28 66 69 | 72 73 74 2d 31 29 29 0d |v <= (fi|rst-1)).|
|00002890| 09 09 09 09 09 09 4d 61 | 72 6b 52 65 61 64 28 70 |......Ma|rkRead(p|
|000028a0| 72 65 76 2c 66 69 72 73 | 74 2d 31 2c 6e 65 77 47 |rev,firs|t-1,newG|
|000028b0| 72 6f 75 70 29 3b 0d 09 | 09 09 09 09 70 72 65 76 |roup);..|....prev|
|000028c0| 20 3d 20 6c 61 73 74 2b | 31 3b 0d 09 09 09 09 7d | = last+|1;.....}|
|000028d0| 0d 09 09 09 09 65 6c 73 | 65 20 7b 0d 09 09 09 09 |.....els|e {.....|
|000028e0| 09 64 6f 6e 65 20 3d 20 | 74 72 75 65 3b 0d 09 09 |.done = |true;...|
|000028f0| 09 09 09 69 66 20 28 74 | 6f 74 61 6c 4c 61 73 74 |...if (t|otalLast|
|00002900| 20 3e 3d 20 6c 61 73 74 | 2b 31 29 0d 09 09 09 09 | >= last|+1).....|
|00002910| 09 09 4d 61 72 6b 52 65 | 61 64 28 6c 61 73 74 2b |..MarkRe|ad(last+|
|00002920| 31 2c 74 6f 74 61 6c 4c | 61 73 74 2c 6e 65 77 47 |1,totalL|ast,newG|
|00002930| 72 6f 75 70 29 3b 0d 09 | 09 09 09 7d 0d 09 09 09 |roup);..|...}....|
|00002940| 7d 20 77 68 69 6c 65 20 | 28 21 64 6f 6e 65 29 3b |} while |(!done);|
|00002950| 0d 09 09 09 0d 09 09 09 | 69 66 20 28 6e 65 77 47 |........|if (newG|
|00002960| 72 6f 75 70 2d 3e 72 65 | 61 64 3d 3d 6e 69 6c 29 |roup->re|ad==nil)|
|00002970| 20 7b 0d 09 09 09 09 6e | 61 6d 65 4c 65 6e 20 3d | {.....n|ameLen =|
|00002980| 20 32 35 36 3b 0d 09 09 | 09 09 4c 47 65 74 43 65 | 256;...|..LGetCe|
|00002990| 6c 6c 28 6e 65 77 73 47 | 72 6f 75 70 2c 26 6e 61 |ll(newsG|roup,&na|
|000029a0| 6d 65 4c 65 6e 2c 74 68 | 65 43 65 6c 6c 2c 28 4c |meLen,th|eCell,(L|
|000029b0| 69 73 74 48 61 6e 64 6c | 65 29 28 28 54 77 69 6e |istHandl|e)((Twin|
|000029c0| 64 6f 77 49 6e 66 6f 20 | 2a 29 47 65 74 57 52 65 |dowInfo |*)GetWRe|
|000029d0| 66 43 6f 6e 28 77 69 6e | 64 6f 77 29 29 2d 3e 64 |fCon(win|dow))->d|
|000029e0| 61 74 61 29 3b 0d 09 09 | 09 09 69 66 20 28 20 28 |ata);...|..if ( (|
|000029f0| 28 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 29 20 |(unsigne|d char) |
|00002a00| 6e 65 77 73 47 72 6f 75 | 70 5b 6e 61 6d 65 4c 65 |newsGrou|p[nameLe|
|00002a10| 6e 2d 31 5d 29 20 21 3d | 20 30 78 66 66 20 29 20 |n-1]) !=| 0xff ) |
|00002a20| 7b 0d 09 09 09 09 09 6e | 65 77 73 47 72 6f 75 70 |{......n|ewsGroup|
|00002a30| 5b 73 74 72 6c 65 6e 28 | 6e 65 77 73 47 72 6f 75 |[strlen(|newsGrou|
|00002a40| 70 29 2b 31 5d 20 3d 20 | 30 78 66 66 3b 0d 09 09 |p)+1] = |0xff;...|
|00002a50| 09 09 09 4c 53 65 74 43 | 65 6c 6c 28 6e 65 77 73 |...LSetC|ell(news|
|00002a60| 47 72 6f 75 70 2c 73 74 | 72 6c 65 6e 28 6e 65 77 |Group,st|rlen(new|
|00002a70| 73 47 72 6f 75 70 29 2b | 32 2c 74 68 65 43 65 6c |sGroup)+|2,theCel|
|00002a80| 6c 2c 28 4c 69 73 74 48 | 61 6e 64 6c 65 29 28 28 |l,(ListH|andle)((|
|00002a90| 54 77 69 6e 64 6f 77 49 | 6e 66 6f 20 2a 29 47 65 |TwindowI|nfo *)Ge|
|00002aa0| 74 57 52 65 66 43 6f 6e | 28 77 69 6e 64 6f 77 29 |tWRefCon|(window)|
|00002ab0| 29 2d 3e 64 61 74 61 29 | 3b 0d 09 09 09 09 7d 0d |)->data)|;.....}.|
|00002ac0| 09 09 09 7d 0d 0d 09 09 | 7d 0d 09 09 47 69 76 65 |...}....|}...Give|
|00002ad0| 54 69 6d 65 28 30 29 3b | 0d 09 7d 0d 09 77 68 69 |Time(0);|..}..whi|
|00002ae0| 6c 65 20 28 2a 2a 6e 65 | 77 73 72 63 20 26 26 20 |le (**ne|wsrc && |
|00002af0| 2a 2a 6e 65 77 73 72 63 | 20 21 3d 20 43 52 29 0d |**newsrc| != CR).|
|00002b00| 09 09 28 2a 6e 65 77 73 | 72 63 29 2b 2b 3b 0d 09 |..(*news|rc)++;..|
|00002b10| 69 66 20 28 2a 2a 6e 65 | 77 73 72 63 29 0d 09 09 |if (**ne|wsrc)...|
|00002b20| 28 2a 6e 65 77 73 72 63 | 29 2b 2b 3b 0d 7d 0d 0d |(*newsrc|)++;.}..|
|00002b30| 0d 2f 2a 09 47 65 74 4e | 75 6d 62 65 72 20 70 61 |./*.GetN|umber pa|
|00002b40| 72 73 65 73 20 61 20 6e | 75 6d 62 65 72 20 6f 75 |rses a n|umber ou|
|00002b50| 74 20 6f 66 20 61 20 73 | 74 72 69 6e 67 2c 20 72 |t of a s|tring, r|
|00002b60| 65 74 75 72 69 6e 67 20 | 74 68 65 20 6e 75 6d 62 |eturing |the numb|
|00002b70| 65 72 20 61 6e 64 20 6d | 6f 76 69 6e 67 20 74 68 |er and m|oving th|
|00002b80| 65 0d 09 73 74 72 69 6e | 67 20 70 6f 69 6e 74 65 |e..strin|g pointe|
|00002b90| 72 20 70 61 73 74 20 74 | 68 65 20 70 6f 73 69 74 |r past t|he posit|
|00002ba0| 69 6f 6e 20 6f 66 20 74 | 68 65 20 6e 75 6d 62 65 |ion of t|he numbe|
|00002bb0| 72 2e 0d 2a 2f 0d 0d 76 | 6f 69 64 20 47 65 74 4e |r..*/..v|oid GetN|
|00002bc0| 75 6d 62 65 72 28 63 68 | 61 72 20 2a 2a 6e 65 77 |umber(ch|ar **new|
|00002bd0| 73 72 63 2c 6c 6f 6e 67 | 20 2a 6e 75 6d 62 65 72 |src,long| *number|
|00002be0| 29 0d 7b 0d 09 63 68 61 | 72 20 2a 63 75 72 72 65 |).{..cha|r *curre|
|00002bf0| 6e 74 2c 6e 75 6d 53 74 | 72 5b 32 35 36 5d 3b 0d |nt,numSt|r[256];.|
|00002c00| 09 0d 09 63 75 72 72 65 | 6e 74 20 3d 20 6e 75 6d |...curre|nt = num|
|00002c10| 53 74 72 3b 0d 09 77 68 | 69 6c 65 20 28 2a 2a 6e |Str;..wh|ile (**n|
|00002c20| 65 77 73 72 63 20 26 26 | 20 2a 2a 6e 65 77 73 72 |ewsrc &&| **newsr|
|00002c30| 63 3e 3d 27 30 27 20 26 | 26 20 2a 2a 6e 65 77 73 |c>='0' &|& **news|
|00002c40| 72 63 3c 3d 27 39 27 29 | 0d 09 09 2a 63 75 72 72 |rc<='9')|...*curr|
|00002c50| 65 6e 74 2b 2b 20 3d 20 | 2a 28 2a 6e 65 77 73 72 |ent++ = |*(*newsr|
|00002c60| 63 29 2b 2b 3b 0d 09 2a | 63 75 72 72 65 6e 74 20 |c)++;..*|current |
|00002c70| 3d 20 27 5c 30 27 3b 0d | 09 0d 09 53 74 72 69 6e |= '\0';.|...Strin|
|00002c80| 67 54 6f 4e 75 6d 28 28 | 53 74 72 69 6e 67 50 74 |gToNum((|StringPt|
|00002c90| 72 29 63 32 70 73 74 72 | 28 6e 75 6d 53 74 72 29 |r)c2pstr|(numStr)|
|00002ca0| 2c 6e 75 6d 62 65 72 29 | 3b 0d 7d 0d 0d 0d 2f 2a |,number)|;.}.../*|
|00002cb0| 09 47 65 74 42 6c 61 6e | 6b 20 65 61 74 73 20 62 |.GetBlan|k eats b|
|00002cc0| 6c 61 6e 6b 20 63 68 61 | 72 61 63 74 65 72 73 20 |lank cha|racters |
|00002cd0| 66 72 6f 6d 20 61 6e 20 | 69 6e 70 75 74 20 73 74 |from an |input st|
|00002ce0| 72 69 6e 67 2e 0d 2a 2f | 0d 0d 76 6f 69 64 20 47 |ring..*/|..void G|
|00002cf0| 65 74 42 6c 61 6e 6b 28 | 63 68 61 72 20 2a 2a 6e |etBlank(|char **n|
|00002d00| 65 77 73 72 63 29 0d 7b | 0d 09 77 68 69 6c 65 20 |ewsrc).{|..while |
|00002d10| 28 2a 2a 6e 65 77 73 72 | 63 20 26 26 20 2a 2a 6e |(**newsr|c && **n|
|00002d20| 65 77 73 72 63 20 3d 3d | 20 27 20 27 20 7c 7c 20 |ewsrc ==| ' ' || |
|00002d30| 2a 2a 6e 65 77 73 72 63 | 20 3d 3d 20 27 2c 27 29 |**newsrc| == ',')|
|00002d40| 0d 09 09 28 2a 6e 65 77 | 73 72 63 29 2b 2b 3b 0d |...(*new|src)++;.|
|00002d50| 7d 0d 0d 0d 2f 2a 09 43 | 68 65 63 6b 46 6f 72 53 |}.../*.C|heckForS|
|00002d60| 61 76 65 20 61 73 6b 73 | 20 74 68 65 20 75 73 65 |ave asks| the use|
|00002d70| 72 20 69 66 20 68 65 2f | 73 68 65 20 77 6f 75 6c |r if he/|she woul|
|00002d80| 64 20 6c 69 6b 65 20 74 | 6f 20 73 61 76 65 20 61 |d like t|o save a|
|00002d90| 20 67 72 6f 75 70 0d 09 | 6c 69 73 74 20 62 65 66 | group..|list bef|
|00002da0| 6f 72 65 20 74 68 65 20 | 63 68 61 6e 67 65 73 20 |ore the |changes |
|00002db0| 68 61 76 65 20 62 65 65 | 6e 20 64 69 73 63 61 72 |have bee|n discar|
|00002dc0| 64 65 64 2e 0d 2a 2f 0d | 0d 42 6f 6f 6c 65 61 6e |ded..*/.|.Boolean|
|00002dd0| 20 43 68 65 63 6b 46 6f | 72 53 61 76 65 28 57 69 | CheckFo|rSave(Wi|
|00002de0| 6e 64 6f 77 50 74 72 20 | 77 69 6e 64 29 0d 7b 0d |ndowPtr |wind).{.|
|00002df0| 09 54 77 69 6e 64 6f 77 | 49 6e 66 6f 20 2a 69 6e |.Twindow|Info *in|
|00002e00| 66 6f 3b 0d 09 0d 09 69 | 6e 66 6f 20 3d 20 28 54 |fo;....i|nfo = (T|
|00002e10| 77 69 6e 64 6f 77 49 6e | 66 6f 20 2a 29 47 65 74 |windowIn|fo *)Get|
|00002e20| 57 52 65 66 43 6f 6e 28 | 77 69 6e 64 29 3b 0d 09 |WRefCon(|wind);..|
|00002e30| 50 61 72 61 6d 54 65 78 | 74 28 69 6e 66 6f 2d 3e |ParamTex|t(info->|
|00002e40| 64 69 73 6b 46 69 6c 65 | 2c 22 5c 70 22 2c 22 5c |diskFile|,"\p","\|
|00002e50| 70 22 2c 22 5c 70 22 29 | 3b 0d 09 53 65 74 43 75 |p","\p")|;..SetCu|
|00002e60| 72 73 6f 72 28 26 51 44 | 41 52 52 4f 57 29 3b 0d |rsor(&QD|ARROW);.|
|00002e70| 09 73 77 69 74 63 68 20 | 28 41 6c 65 72 74 28 6b |.switch |(Alert(k|
|00002e80| 43 68 65 63 6b 53 61 76 | 65 49 44 2c 43 6d 64 4b |CheckSav|eID,CmdK|
|00002e90| 65 79 46 69 6c 74 65 72 | 29 29 20 7b 0d 09 09 63 |eyFilter|)) {...c|
|00002ea0| 61 73 65 20 6b 59 65 73 | 3a 0d 09 09 09 72 65 74 |ase kYes|:....ret|
|00002eb0| 75 72 6e 20 28 44 6f 53 | 61 76 65 46 69 6c 65 28 |urn (DoS|aveFile(|
|00002ec0| 77 69 6e 64 29 29 3b 0d | 09 09 09 62 72 65 61 6b |wind));.|...break|
|00002ed0| 3b 0d 09 09 63 61 73 65 | 20 6b 4e 6f 3a 0d 09 09 |;...case| kNo:...|
|00002ee0| 09 72 65 74 75 72 6e 20 | 74 72 75 65 3b 0d 09 09 |.return |true;...|
|00002ef0| 09 62 72 65 61 6b 3b 0d | 09 09 63 61 73 65 20 6b |.break;.|..case k|
|00002f00| 43 61 6e 63 65 6c 3a 0d | 09 09 09 72 65 74 75 72 |Cancel:.|...retur|
|00002f10| 6e 20 66 61 6c 73 65 3b | 0d 09 09 09 62 72 65 61 |n false;|....brea|
|00002f20| 6b 3b 0d 09 7d 0d 7d 0d | 0d 0d 2f 2a 09 43 68 65 |k;..}.}.|../*.Che|
|00002f30| 63 6b 46 6f 72 53 65 6e | 64 20 61 73 6b 73 20 74 |ckForSen|d asks t|
|00002f40| 68 65 20 75 73 65 72 20 | 69 66 20 68 65 2f 73 68 |he user |if he/sh|
|00002f50| 65 20 77 6f 75 6c 64 20 | 6c 69 6b 65 20 74 6f 20 |e would |like to |
|00002f60| 73 65 6e 64 20 74 68 65 | 20 6d 65 73 73 61 67 65 |send the| message|
|00002f70| 0d 09 74 68 61 74 20 74 | 68 65 79 20 63 6f 6d 70 |..that t|hey comp|
|00002f80| 6f 73 65 64 20 62 65 66 | 6f 72 65 20 74 68 65 20 |osed bef|ore the |
|00002f90| 77 69 6e 64 6f 77 20 68 | 61 73 20 62 65 65 6e 20 |window h|as been |
|00002fa0| 63 6c 6f 73 65 64 2e 0d | 2a 2f 0d 0d 42 6f 6f 6c |closed..|*/..Bool|
|00002fb0| 65 61 6e 20 43 68 65 63 | 6b 46 6f 72 53 65 6e 64 |ean Chec|kForSend|
|00002fc0| 28 57 69 6e 64 6f 77 50 | 74 72 20 77 69 6e 64 29 |(WindowP|tr wind)|
|00002fd0| 0d 7b 0d 09 53 65 74 43 | 75 72 73 6f 72 28 26 51 |.{..SetC|ursor(&Q|
|00002fe0| 44 41 52 52 4f 57 29 3b | 0d 09 73 77 69 74 63 68 |DARROW);|..switch|
|00002ff0| 20 28 41 6c 65 72 74 28 | 6b 41 73 6b 53 65 6e 64 | (Alert(|kAskSend|
|00003000| 41 6c 65 72 74 2c 43 6d | 64 4b 65 79 46 69 6c 74 |Alert,Cm|dKeyFilt|
|00003010| 65 72 29 29 20 7b 0d 09 | 09 63 61 73 65 20 6b 59 |er)) {..|.case kY|
|00003020| 65 73 3a 0d 09 09 09 72 | 65 74 75 72 6e 20 28 44 |es:....r|eturn (D|
|00003030| 6f 53 65 6e 64 4d 73 67 | 28 28 54 77 69 6e 64 6f |oSendMsg|((Twindo|
|00003040| 77 49 6e 66 6f 20 2a 29 | 47 65 74 57 52 65 66 43 |wInfo *)|GetWRefC|
|00003050| 6f 6e 28 77 69 6e 64 29 | 29 29 3b 0d 09 09 09 62 |on(wind)|));....b|
|00003060| 72 65 61 6b 3b 0d 09 09 | 63 61 73 65 20 6b 4e 6f |reak;...|case kNo|
|00003070| 3a 0d 09 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |:....ret|urn true|
|00003080| 3b 0d 09 09 63 61 73 65 | 20 6b 43 61 6e 63 65 6c |;...case| kCancel|
|00003090| 3a 0d 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |:....ret|urn fals|
|000030a0| 65 3b 0d 09 7d 0d 7d 0d | 0d 0d 2f 2a 09 44 6f 53 |e;..}.}.|../*.DoS|
|000030b0| 61 76 65 46 69 6c 65 20 | 69 73 20 63 61 6c 6c 65 |aveFile |is calle|
|000030c0| 64 20 74 6f 20 73 61 76 | 65 20 61 20 67 72 6f 75 |d to sav|e a grou|
|000030d0| 70 20 6c 69 73 74 20 74 | 6f 20 64 69 73 6b 20 69 |p list t|o disk i|
|000030e0| 6e 20 6e 65 77 73 72 63 | 20 66 6f 72 6d 61 74 2e |n newsrc| format.|
|000030f0| 0d 2a 2f 0d 0d 42 6f 6f | 6c 65 61 6e 20 44 6f 53 |.*/..Boo|lean DoS|
|00003100| 61 76 65 46 69 6c 65 28 | 57 69 6e 64 6f 77 50 74 |aveFile(|WindowPt|
|00003110| 72 20 77 69 6e 64 29 0d | 7b 0d 09 54 77 69 6e 64 |r wind).|{..Twind|
|00003120| 6f 77 49 6e 66 6f 20 2a | 69 6e 66 6f 3b 0d 09 0d |owInfo *|info;...|
|00003130| 09 69 6e 66 6f 20 3d 20 | 28 54 77 69 6e 64 6f 77 |.info = |(Twindow|
|00003140| 49 6e 66 6f 20 2a 29 47 | 65 74 57 52 65 66 43 6f |Info *)G|etWRefCo|
|00003150| 6e 28 77 69 6e 64 29 3b | 0d 09 69 66 20 28 69 6e |n(wind);|..if (in|
|00003160| 66 6f 2d 3e 73 61 76 65 | 64 29 20 7b 0d 09 09 69 |fo->save|d) {...i|
|00003170| 6e 66 6f 2d 3e 63 68 61 | 6e 67 65 64 20 3d 20 66 |nfo->cha|nged = f|
|00003180| 61 6c 73 65 3b 0d 09 09 | 72 65 74 75 72 6e 20 4c |alse;...|return L|
|00003190| 6f 53 61 76 65 46 69 6c | 65 28 69 6e 66 6f 2d 3e |oSaveFil|e(info->|
|000031a0| 63 68 69 6c 64 4c 69 73 | 74 2c 28 54 47 72 6f 75 |childLis|t,(TGrou|
|000031b0| 70 20 2a 29 69 6e 66 6f | 2d 3e 64 61 74 61 32 2c |p *)info|->data2,|
|000031c0| 69 6e 66 6f 2d 3e 64 69 | 73 6b 46 69 6c 65 2c 69 |info->di|skFile,i|
|000031d0| 6e 66 6f 2d 3e 64 69 73 | 6b 56 52 65 66 4e 75 6d |nfo->dis|kVRefNum|
|000031e0| 29 3b 0d 09 7d 0d 09 65 | 6c 73 65 0d 09 09 72 65 |);..}..e|lse...re|
|000031f0| 74 75 72 6e 20 44 6f 53 | 61 76 65 41 73 46 69 6c |turn DoS|aveAsFil|
|00003200| 65 28 77 69 6e 64 29 3b | 0d 7d 0d 0d 0d 2f 2a 09 |e(wind);|.}.../*.|
|00003210| 44 6f 53 61 76 65 41 73 | 46 69 6c 65 20 69 73 20 |DoSaveAs|File is |
|00003220| 63 61 6c 6c 65 64 20 77 | 68 65 6e 20 74 68 65 20 |called w|hen the |
|00003230| 67 72 6f 75 70 20 6c 69 | 73 74 20 74 6f 20 62 65 |group li|st to be|
|00003240| 20 73 61 76 65 64 20 68 | 61 73 20 6e 6f 74 20 62 | saved h|as not b|
|00003250| 65 65 6e 0d 09 77 72 69 | 74 74 65 6e 20 74 6f 20 |een..wri|tten to |
|00003260| 64 69 73 6b 20 62 65 66 | 6f 72 65 2e 0d 2a 2f 0d |disk bef|ore..*/.|
|00003270| 0d 42 6f 6f 6c 65 61 6e | 20 44 6f 53 61 76 65 41 |.Boolean| DoSaveA|
|00003280| 73 46 69 6c 65 28 57 69 | 6e 64 6f 77 50 74 72 20 |sFile(Wi|ndowPtr |
|00003290| 77 69 6e 64 29 0d 7b 0d | 09 50 6f 69 6e 74 20 77 |wind).{.|.Point w|
|000032a0| 68 65 72 65 20 3d 20 7b | 31 30 30 2c 31 30 30 7d |here = {|100,100}|
|000032b0| 3b 0d 09 53 46 52 65 70 | 6c 79 20 72 65 70 6c 79 |;..SFRep|ly reply|
|000032c0| 3b 0d 09 54 77 69 6e 64 | 6f 77 49 6e 66 6f 20 2a |;..Twind|owInfo *|
|000032d0| 69 6e 66 6f 3b 0d 09 42 | 6f 6f 6c 65 61 6e 20 67 |info;..B|oolean g|
|000032e0| 6f 6f 64 3b 0d 09 0d 09 | 69 6e 66 6f 20 3d 20 28 |ood;....|info = (|
|000032f0| 54 77 69 6e 64 6f 77 49 | 6e 66 6f 20 2a 29 47 65 |TwindowI|nfo *)Ge|
|00003300| 74 57 52 65 66 43 6f 6e | 28 77 69 6e 64 29 3b 0d |tWRefCon|(wind);.|
|00003310| 09 0d 09 53 46 50 75 74 | 46 69 6c 65 28 77 68 65 |...SFPut|File(whe|
|00003320| 72 65 2c 22 5c 70 53 61 | 76 65 20 67 72 6f 75 70 |re,"\pSa|ve group|
|00003330| 20 6c 69 73 74 20 61 73 | 3a 22 2c 69 6e 66 6f 2d | list as|:",info-|
|00003340| 3e 64 69 73 6b 46 69 6c | 65 2c 6e 69 6c 2c 26 72 |>diskFil|e,nil,&r|
|00003350| 65 70 6c 79 29 3b 0d 20 | 20 20 20 69 66 20 28 21 |eply);. | if (!|
|00003360| 72 65 70 6c 79 2e 67 6f | 6f 64 29 0d 09 09 72 65 |reply.go|od)...re|
|00003370| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 09 09 0d 09 |turn fal|se;.....|
|00003380| 69 66 20 28 67 6f 6f 64 | 20 3d 20 4c 6f 53 61 76 |if (good| = LoSav|
|00003390| 65 46 69 6c 65 28 69 6e | 66 6f 2d 3e 63 68 69 6c |eFile(in|fo->chil|
|000033a0| 64 4c 69 73 74 2c 28 54 | 47 72 6f 75 70 20 2a 29 |dList,(T|Group *)|
|000033b0| 69 6e 66 6f 2d 3e 64 61 | 74 61 32 2c 72 65 70 6c |info->da|ta2,repl|
|000033c0| 79 2e 66 4e 61 6d 65 2c | 72 65 70 6c 79 2e 76 52 |y.fName,|reply.vR|
|000033d0| 65 66 4e 75 6d 29 29 20 | 7b 0d 09 09 52 65 6d 6f |efNum)) |{...Remo|
|000033e0| 76 65 57 69 6e 64 6f 77 | 73 4d 65 6e 75 28 77 69 |veWindow|sMenu(wi|
|000033f0| 6e 64 29 3b 0d 09 09 53 | 65 74 57 54 69 74 6c 65 |nd);...S|etWTitle|
|00003400| 28 77 69 6e 64 2c 72 65 | 70 6c 79 2e 66 4e 61 6d |(wind,re|ply.fNam|
|00003410| 65 29 3b 0d 09 09 41 64 | 64 57 69 6e 64 6f 77 73 |e);...Ad|dWindows|
|00003420| 4d 65 6e 75 28 77 69 6e | 64 29 3b 0d 09 09 42 6c |Menu(win|d);...Bl|
|00003430| 6f 63 6b 4d 6f 76 65 28 | 72 65 70 6c 79 2e 66 4e |ockMove(|reply.fN|
|00003440| 61 6d 65 2c 69 6e 66 6f | 2d 3e 64 69 73 6b 46 69 |ame,info|->diskFi|
|00003450| 6c 65 2c 72 65 70 6c 79 | 2e 66 4e 61 6d 65 5b 30 |le,reply|.fName[0|
|00003460| 5d 2b 31 29 3b 0d 09 09 | 69 6e 66 6f 2d 3e 64 69 |]+1);...|info->di|
|00003470| 73 6b 56 52 65 66 4e 75 | 6d 20 3d 20 72 65 70 6c |skVRefNu|m = repl|
|00003480| 79 2e 76 52 65 66 4e 75 | 6d 3b 0d 09 09 69 6e 66 |y.vRefNu|m;...inf|
|00003490| 6f 2d 3e 63 68 61 6e 67 | 65 64 20 3d 20 66 61 6c |o->chang|ed = fal|
|000034a0| 73 65 3b 0d 09 09 69 6e | 66 6f 2d 3e 73 61 76 65 |se;...in|fo->save|
|000034b0| 64 20 3d 20 74 72 75 65 | 3b 0d 09 7d 0d 09 72 65 |d = true|;..}..re|
|000034c0| 74 75 72 6e 20 67 6f 6f | 64 3b 0d 7d 0d 0d 0d 2f |turn goo|d;.}.../|
|000034d0| 2a 09 4c 6f 53 61 76 65 | 46 69 6c 65 20 69 73 20 |*.LoSave|File is |
|000034e0| 74 68 65 20 6c 6f 77 2d | 6c 65 76 65 6c 20 72 6f |the low-|level ro|
|000034f0| 75 74 69 6e 65 20 77 68 | 69 63 68 20 77 72 69 74 |utine wh|ich writ|
|00003500| 65 73 20 74 68 65 20 67 | 72 6f 75 70 73 20 6f 75 |es the g|roups ou|
|00003510| 74 20 74 6f 20 74 68 65 | 0d 09 67 72 6f 75 70 20 |t to the|..group |
|00003520| 66 69 6c 65 20 6f 6e 20 | 64 69 73 6b 2e 0d 2a 2f |file on |disk..*/|
|00003530| 0d 0d 42 6f 6f 6c 65 61 | 6e 20 4c 6f 53 61 76 65 |..Boolea|n LoSave|
|00003540| 46 69 6c 65 28 54 57 4c | 69 73 74 20 2a 63 68 69 |File(TWL|ist *chi|
|00003550| 6c 64 72 65 6e 2c 54 47 | 72 6f 75 70 20 2a 67 72 |ldren,TG|roup *gr|
|00003560| 6f 75 70 73 2c 53 74 72 | 32 35 35 20 66 4e 61 6d |oups,Str|255 fNam|
|00003570| 65 2c 73 68 6f 72 74 20 | 76 52 65 66 4e 75 6d 29 |e,short |vRefNum)|
|00003580| 0d 7b 0d 09 4f 53 45 72 | 72 20 65 72 72 3b 0d 09 |.{..OSEr|r err;..|
|00003590| 73 68 6f 72 74 20 66 52 | 65 66 4e 75 6d 3b 0d 09 |short fR|efNum;..|
|000035a0| 6c 6f 6e 67 20 6c 65 6e | 67 74 68 2c 66 69 72 73 |long len|gth,firs|
|000035b0| 74 3b 0d 09 54 47 72 6f | 75 70 20 2a 74 68 65 47 |t;..TGro|up *theG|
|000035c0| 72 6f 75 70 3b 0d 09 63 | 68 61 72 20 74 6d 70 53 |roup;..c|har tmpS|
|000035d0| 74 72 5b 32 35 36 5d 3b | 0d 09 54 52 65 61 64 52 |tr[256];|..TReadR|
|000035e0| 65 63 20 2a 72 65 61 64 | 3b 0d 09 54 57 4c 69 73 |ec *read|;..TWLis|
|000035f0| 74 20 2a 63 75 72 72 65 | 6e 74 3b 0d 09 73 68 6f |t *curre|nt;..sho|
|00003600| 72 74 20 6f 66 66 73 65 | 74 3b 0d 09 0d 09 2f 2a |rt offse|t;..../*|
|00003610| 20 75 70 64 61 74 65 20 | 72 65 61 64 20 6c 69 73 | update |read lis|
|00003620| 74 73 20 2a 2f 0d 09 0d | 09 66 6f 72 20 28 63 75 |ts */...|.for (cu|
|00003630| 72 72 65 6e 74 20 3d 20 | 63 68 69 6c 64 72 65 6e |rrent = |children|
|00003640| 3b 20 63 75 72 72 65 6e | 74 20 21 3d 20 6e 69 6c |; curren|t != nil|
|00003650| 3b 20 63 75 72 72 65 6e | 74 20 3d 20 63 75 72 72 |; curren|t = curr|
|00003660| 65 6e 74 2d 3e 6e 65 78 | 74 29 0d 09 09 4d 61 72 |ent->nex|t)...Mar|
|00003670| 6b 52 65 61 64 4d 73 67 | 73 28 28 54 77 69 6e 64 |kReadMsg|s((Twind|
|00003680| 6f 77 49 6e 66 6f 20 2a | 29 20 47 65 74 57 52 65 |owInfo *|) GetWRe|
|00003690| 66 43 6f 6e 28 63 75 72 | 72 65 6e 74 2d 3e 63 68 |fCon(cur|rent->ch|
|000036a0| 69 6c 64 57 69 6e 64 6f | 77 29 29 3b 0d 0d 09 69 |ildWindo|w));...i|
|000036b0| 66 20 28 28 65 72 72 20 | 3d 20 43 72 65 61 74 65 |f ((err |= Create|
|000036c0| 28 66 4e 61 6d 65 2c 76 | 52 65 66 4e 75 6d 2c 6b |(fName,v|RefNum,k|
|000036d0| 46 43 72 65 61 74 6f 72 | 2c 6b 46 54 79 70 65 29 |FCreator|,kFType)|
|000036e0| 29 20 3d 3d 20 64 75 70 | 46 4e 45 72 72 29 20 7b |) == dup|FNErr) {|
|000036f0| 0d 09 09 46 53 4f 70 65 | 6e 28 66 4e 61 6d 65 2c |...FSOpe|n(fName,|
|00003700| 76 52 65 66 4e 75 6d 2c | 26 66 52 65 66 4e 75 6d |vRefNum,|&fRefNum|
|00003710| 29 3b 0d 09 09 65 72 72 | 20 3d 20 53 65 74 45 4f |);...err| = SetEO|
|00003720| 46 28 66 52 65 66 4e 75 | 6d 2c 30 29 3b 0d 09 09 |F(fRefNu|m,0);...|
|00003730| 46 53 43 6c 6f 73 65 28 | 66 52 65 66 4e 75 6d 29 |FSClose(|fRefNum)|
|00003740| 3b 0d 09 7d 0d 09 69 66 | 20 28 65 72 72 20 21 3d |;..}..if| (err !=|
|00003750| 20 6e 6f 45 72 72 29 0d | 09 09 72 65 74 75 72 6e | noErr).|..return|
|00003760| 20 66 61 6c 73 65 3b 0d | 09 09 0d 09 69 66 20 28 | false;.|....if (|
|00003770| 46 53 4f 70 65 6e 28 66 | 4e 61 6d 65 2c 76 52 65 |FSOpen(f|Name,vRe|
|00003780| 66 4e 75 6d 2c 26 66 52 | 65 66 4e 75 6d 29 20 21 |fNum,&fR|efNum) !|
|00003790| 3d 20 6e 6f 45 72 72 29 | 0d 09 09 72 65 74 75 72 |= noErr)|...retur|
|000037a0| 6e 20 66 61 6c 73 65 3b | 0d 09 0d 09 66 6f 72 20 |n false;|....for |
|000037b0| 28 74 68 65 47 72 6f 75 | 70 20 3d 20 67 72 6f 75 |(theGrou|p = grou|
|000037c0| 70 73 3b 20 74 68 65 47 | 72 6f 75 70 21 3d 6e 69 |ps; theG|roup!=ni|
|000037d0| 6c 3b 20 74 68 65 47 72 | 6f 75 70 3d 74 68 65 47 |l; theGr|oup=theG|
|000037e0| 72 6f 75 70 2d 3e 6e 65 | 78 74 29 20 7b 0d 09 09 |roup->ne|xt) {...|
|000037f0| 6c 65 6e 67 74 68 20 3d | 20 73 74 72 6c 65 6e 28 |length =| strlen(|
|00003800| 74 68 65 47 72 6f 75 70 | 2d 3e 6e 61 6d 65 29 3b |theGroup|->name);|
|00003810| 0d 09 09 46 53 57 72 69 | 74 65 28 66 52 65 66 4e |...FSWri|te(fRefN|
|00003820| 75 6d 2c 26 6c 65 6e 67 | 74 68 2c 74 68 65 47 72 |um,&leng|th,theGr|
|00003830| 6f 75 70 2d 3e 6e 61 6d | 65 29 3b 0d 09 09 6c 65 |oup->nam|e);...le|
|00003840| 6e 67 74 68 20 3d 20 32 | 3b 0d 09 09 46 53 57 72 |ngth = 2|;...FSWr|
|00003850| 69 74 65 28 66 52 65 66 | 4e 75 6d 2c 26 6c 65 6e |ite(fRef|Num,&len|
|00003860| 67 74 68 2c 22 3a 20 22 | 29 3b 0d 09 09 0d 09 09 |gth,": "|);......|
|00003870| 66 69 72 73 74 20 3d 20 | 31 3b 0d 09 09 66 6f 72 |first = |1;...for|
|00003880| 20 28 72 65 61 64 20 3d | 20 74 68 65 47 72 6f 75 | (read =| theGrou|
|00003890| 70 2d 3e 72 65 61 64 3b | 20 72 65 61 64 21 3d 6e |p->read;| read!=n|
|000038a0| 69 6c 3b 20 72 65 61 64 | 20 3d 20 72 65 61 64 2d |il; read| = read-|
|000038b0| 3e 6e 65 78 74 29 20 7b | 0d 09 09 09 69 66 20 28 |>next) {|....if (|
|000038c0| 20 28 72 65 61 64 2d 3e | 66 69 72 73 74 52 65 61 | (read->|firstRea|
|000038d0| 64 2d 31 20 2d 20 66 69 | 72 73 74 29 20 3e 3d 20 |d-1 - fi|rst) >= |
|000038e0| 30 29 20 7b 0d 09 09 09 | 09 73 70 72 69 6e 74 66 |0) {....|.sprintf|
|000038f0| 28 74 6d 70 53 74 72 2c | 22 25 6c 75 2d 25 6c 75 |(tmpStr,|"%lu-%lu|
|00003900| 22 2c 66 69 72 73 74 2c | 28 72 65 61 64 2d 3e 66 |",first,|(read->f|
|00003910| 69 72 73 74 52 65 61 64 | 2d 31 29 29 3b 0d 09 09 |irstRead|-1));...|
|00003920| 09 09 69 66 20 28 72 65 | 61 64 2d 3e 6e 65 78 74 |..if (re|ad->next|
|00003930| 29 0d 09 09 09 09 09 73 | 74 72 63 61 74 28 74 6d |)......s|trcat(tm|
|00003940| 70 53 74 72 2c 22 2c 22 | 29 3b 0d 09 09 09 09 6c |pStr,","|);.....l|
|00003950| 65 6e 67 74 68 20 3d 20 | 73 74 72 6c 65 6e 28 74 |ength = |strlen(t|
|00003960| 6d 70 53 74 72 29 3b 0d | 09 09 09 09 46 53 57 72 |mpStr);.|....FSWr|
|00003970| 69 74 65 28 66 52 65 66 | 4e 75 6d 2c 26 6c 65 6e |ite(fRef|Num,&len|
|00003980| 67 74 68 2c 74 6d 70 53 | 74 72 29 3b 0d 09 09 09 |gth,tmpS|tr);....|
|00003990| 7d 0d 09 09 09 66 69 72 | 73 74 20 3d 20 31 20 2b |}....fir|st = 1 +|
|000039a0| 20 72 65 61 64 2d 3e 6c | 61 73 74 52 65 61 64 3b | read->l|astRead;|
|000039b0| 0d 09 09 7d 0d 09 09 0d | 09 09 2f 2a 20 6d 61 72 |...}....|../* mar|
|000039c0| 6b 20 72 65 61 64 20 74 | 6f 20 6c 61 73 74 20 6d |k read t|o last m|
|000039d0| 65 73 73 61 67 65 20 6f | 66 20 67 72 6f 75 70 20 |essage o|f group |
|000039e0| 2a 2f 0d 09 09 0d 09 09 | 69 66 20 28 74 68 65 47 |*/......|if (theG|
|000039f0| 72 6f 75 70 2d 3e 6c 61 | 73 74 4d 65 73 73 20 3e |roup->la|stMess >|
|00003a00| 3d 20 66 69 72 73 74 29 | 20 7b 0d 09 09 09 09 73 |= first)| {.....s|
|00003a10| 70 72 69 6e 74 66 28 74 | 6d 70 53 74 72 2c 22 2c |printf(t|mpStr,",|
|00003a20| 20 25 6c 75 2d 25 6c 75 | 22 2c 66 69 72 73 74 2c | %lu-%lu|",first,|
|00003a30| 74 68 65 47 72 6f 75 70 | 2d 3e 6c 61 73 74 4d 65 |theGroup|->lastMe|
|00003a40| 73 73 29 3b 0d 09 09 09 | 09 69 66 20 28 66 69 72 |ss);....|.if (fir|
|00003a50| 73 74 3d 3d 31 29 0d 09 | 09 09 09 09 6f 66 66 73 |st==1)..|....offs|
|00003a60| 65 74 3d 31 3b 0d 09 09 | 09 09 65 6c 73 65 0d 09 |et=1;...|..else..|
|00003a70| 09 09 09 09 6f 66 66 73 | 65 74 3d 30 3b 0d 09 09 |....offs|et=0;...|
|00003a80| 09 09 6c 65 6e 67 74 68 | 20 3d 20 73 74 72 6c 65 |..length| = strle|
|00003a90| 6e 28 74 6d 70 53 74 72 | 2b 6f 66 66 73 65 74 29 |n(tmpStr|+offset)|
|00003aa0| 3b 0d 09 09 09 09 46 53 | 57 72 69 74 65 28 66 52 |;.....FS|Write(fR|
|00003ab0| 65 66 4e 75 6d 2c 26 6c | 65 6e 67 74 68 2c 74 6d |efNum,&l|ength,tm|
|00003ac0| 70 53 74 72 2b 6f 66 66 | 73 65 74 29 3b 0d 09 09 |pStr+off|set);...|
|00003ad0| 7d 0d 09 09 0d 09 09 6c | 65 6e 67 74 68 20 3d 20 |}......l|ength = |
|00003ae0| 31 3b 0d 09 09 46 53 57 | 72 69 74 65 28 66 52 65 |1;...FSW|rite(fRe|
|00003af0| 66 4e 75 6d 2c 26 6c 65 | 6e 67 74 68 2c 43 52 53 |fNum,&le|ngth,CRS|
|00003b00| 54 52 29 3b 0d 09 7d 0d | 09 46 53 43 6c 6f 73 65 |TR);..}.|.FSClose|
|00003b10| 28 66 52 65 66 4e 75 6d | 29 3b 0d 09 72 65 74 75 |(fRefNum|);..retu|
|00003b20| 72 6e 20 74 72 75 65 3b | 0d 7d 0d 0d 0d 2f 2a 09 |rn true;|.}.../*.|
|00003b30| 4d 61 72 6b 52 65 61 64 | 4d 73 67 73 20 69 73 20 |MarkRead|Msgs is |
|00003b40| 63 61 6c 6c 65 64 20 74 | 6f 20 75 70 64 61 74 65 |called t|o update|
|00003b50| 20 74 68 65 20 72 65 61 | 64 20 6d 65 73 73 61 67 | the rea|d messag|
|00003b60| 65 73 20 6c 69 73 74 20 | 66 6f 72 20 61 20 67 72 |es list |for a gr|
|00003b70| 6f 75 70 2e 0d 09 45 61 | 63 68 20 73 75 62 6a 65 |oup...Ea|ch subje|
|00003b80| 63 74 20 69 6e 20 74 68 | 65 20 6c 69 73 74 20 70 |ct in th|e list p|
|00003b90| 72 65 63 65 65 64 65 64 | 20 62 79 20 61 20 c3 20 |receeded| by a . |
|00003ba0| 28 63 68 65 63 6b 20 6d | 61 72 6b 29 20 69 73 20 |(check m|ark) is |
|00003bb0| 6d 61 72 6b 65 64 20 61 | 73 0d 09 72 65 61 64 20 |marked a|s..read |
|00003bc0| 69 6e 20 74 68 65 20 69 | 6e 74 65 72 6e 61 6c 20 |in the i|nternal |
|00003bd0| 64 61 74 61 20 73 74 72 | 75 63 74 75 72 65 2e 0d |data str|ucture..|
|00003be0| 2a 2f 0d 0d 76 6f 69 64 | 20 4d 61 72 6b 52 65 61 |*/..void| MarkRea|
|00003bf0| 64 4d 73 67 73 28 54 77 | 69 6e 64 6f 77 49 6e 66 |dMsgs(Tw|indowInf|
|00003c00| 6f 20 2a 74 68 65 49 6e | 66 6f 29 0d 7b 0d 09 6c |o *theIn|fo).{..l|
|00003c10| 6f 6e 67 20 74 6d 70 46 | 69 72 73 74 2c 74 6d 70 |ong tmpF|irst,tmp|
|00003c20| 4c 61 73 74 2c 69 3b 0d | 09 54 52 65 61 64 52 65 |Last,i;.|.TReadRe|
|00003c30| 63 20 2a 72 65 61 64 2c | 2a 74 6d 70 3b 0d 09 54 |c *read,|*tmp;..T|
|00003c40| 47 72 6f 75 70 20 2a 74 | 68 65 47 72 6f 75 70 3b |Group *t|heGroup;|
|00003c50| 0d 09 54 53 75 62 6a 65 | 63 74 20 2a 73 75 62 6a |..TSubje|ct *subj|
|00003c60| 65 63 74 73 3b 0d 09 54 | 77 69 6e 64 6f 77 49 6e |ects;..T|windowIn|
|00003c70| 66 6f 20 2a 70 61 72 65 | 6e 74 49 6e 66 6f 3b 0d |fo *pare|ntInfo;.|
|00003c80| 09 63 68 61 72 20 67 72 | 6f 75 70 4e 61 6d 65 5b |.char gr|oupName[|
|00003c90| 32 35 36 5d 3b 0d 09 73 | 68 6f 72 74 20 6e 61 6d |256];..s|hort nam|
|00003ca0| 65 4c 65 6e 3b 0d 09 43 | 65 6c 6c 20 74 68 65 43 |eLen;..C|ell theC|
|00003cb0| 65 6c 6c 3b 0d 09 0d 09 | 74 68 65 47 72 6f 75 70 |ell;....|theGroup|
|00003cc0| 20 3d 20 74 68 65 49 6e | 66 6f 2d 3e 70 61 72 65 | = theIn|fo->pare|
|00003cd0| 6e 74 47 72 6f 75 70 3b | 0d 09 70 61 72 65 6e 74 |ntGroup;|..parent|
|00003ce0| 49 6e 66 6f 20 3d 20 28 | 54 77 69 6e 64 6f 77 49 |Info = (|TwindowI|
|00003cf0| 6e 66 6f 20 2a 29 47 65 | 74 57 52 65 66 43 6f 6e |nfo *)Ge|tWRefCon|
|00003d00| 28 74 68 65 49 6e 66 6f | 2d 3e 70 61 72 65 6e 74 |(theInfo|->parent|
|00003d10| 57 69 6e 64 6f 77 29 3b | 0d 09 70 61 72 65 6e 74 |Window);|..parent|
|00003d20| 49 6e 66 6f 2d 3e 63 68 | 61 6e 67 65 64 20 3d 20 |Info->ch|anged = |
|00003d30| 74 72 75 65 3b 0d 09 0d | 09 73 75 62 6a 65 63 74 |true;...|.subject|
|00003d40| 73 20 3d 20 28 54 53 75 | 62 6a 65 63 74 20 2a 29 |s = (TSu|bject *)|
|00003d50| 2a 28 48 61 6e 64 6c 65 | 29 74 68 65 49 6e 66 6f |*(Handle|)theInfo|
|00003d60| 2d 3e 64 61 74 61 32 3b | 0d 09 0d 09 72 65 61 64 |->data2;|....read|
|00003d70| 20 3d 20 74 68 65 47 72 | 6f 75 70 2d 3e 72 65 61 | = theGr|oup->rea|
|00003d80| 64 3b 0d 09 77 68 69 6c | 65 20 28 72 65 61 64 20 |d;..whil|e (read |
|00003d90| 21 3d 20 6e 69 6c 29 20 | 7b 0d 09 09 74 6d 70 20 |!= nil) |{...tmp |
|00003da0| 3d 20 72 65 61 64 3b 0d | 09 09 72 65 61 64 20 3d |= read;.|..read =|
|00003db0| 20 72 65 61 64 2d 3e 6e | 65 78 74 3b 0d 09 09 4d | read->n|ext;...M|
|00003dc0| 79 44 69 73 70 6f 73 50 | 74 72 28 28 50 74 72 29 |yDisposP|tr((Ptr)|
|00003dd0| 74 6d 70 29 3b 0d 09 7d | 0d 09 74 68 65 47 72 6f |tmp);..}|..theGro|
|00003de0| 75 70 2d 3e 72 65 61 64 | 20 3d 20 6e 69 6c 3b 0d |up->read| = nil;.|
|00003df0| 09 0d 09 74 6d 70 46 69 | 72 73 74 20 3d 20 2d 31 |...tmpFi|rst = -1|
|00003e00| 3b 0d 09 09 0d 09 66 6f | 72 20 28 69 3d 30 3b 20 |;.....fo|r (i=0; |
|00003e10| 69 3c 74 68 65 49 6e 66 | 6f 2d 3e 6e 75 6d 53 75 |i<theInf|o->numSu|
|00003e20| 62 6a 65 63 74 73 3b 20 | 69 2b 2b 29 20 7b 09 09 |bjects; |i++) {..|
|00003e30| 09 0d 09 09 69 66 20 28 | 21 73 75 62 6a 65 63 74 |....if (|!subject|
|00003e40| 73 5b 69 5d 2e 72 65 61 | 64 20 26 26 20 69 3c 28 |s[i].rea|d && i<(|
|00003e50| 74 68 65 49 6e 66 6f 2d | 3e 6e 75 6d 53 75 62 6a |theInfo-|>numSubj|
|00003e60| 65 63 74 73 2d 31 29 20 | 26 26 20 73 75 62 6a 65 |ects-1) |&& subje|
|00003e70| 63 74 73 5b 69 2b 31 5d | 2e 6e 75 6d 62 65 72 2d |cts[i+1]|.number-|
|00003e80| 73 75 62 6a 65 63 74 73 | 5b 69 5d 2e 6e 75 6d 62 |subjects|[i].numb|
|00003e90| 65 72 20 3e 20 31 29 20 | 7b 0d 09 09 09 69 66 20 |er > 1) |{....if |
|00003ea0| 28 74 6d 70 46 69 72 73 | 74 20 3d 3d 20 2d 31 29 |(tmpFirs|t == -1)|
|00003eb0| 0d 09 09 09 09 74 6d 70 | 46 69 72 73 74 20 3d 20 |.....tmp|First = |
|00003ec0| 73 75 62 6a 65 63 74 73 | 5b 69 5d 2e 6e 75 6d 62 |subjects|[i].numb|
|00003ed0| 65 72 3b 0d 09 09 09 4d | 61 72 6b 52 65 61 64 28 |er;....M|arkRead(|
|00003ee0| 74 6d 70 46 69 72 73 74 | 2c 73 75 62 6a 65 63 74 |tmpFirst|,subject|
|00003ef0| 73 5b 69 5d 2e 6e 75 6d | 62 65 72 2c 74 68 65 47 |s[i].num|ber,theG|
|00003f00| 72 6f 75 70 29 3b 0d 09 | 09 09 74 6d 70 46 69 72 |roup);..|..tmpFir|
|00003f10| 73 74 20 3d 20 2d 31 3b | 0d 09 09 7d 0d 09 09 65 |st = -1;|...}...e|
|00003f20| 6c 73 65 20 69 66 20 28 | 74 6d 70 46 69 72 73 74 |lse if (|tmpFirst|
|00003f30| 20 3d 3d 20 2d 31 20 26 | 26 20 21 73 75 62 6a 65 | == -1 &|& !subje|
|00003f40| 63 74 73 5b 69 5d 2e 72 | 65 61 64 29 0d 09 09 09 |cts[i].r|ead)....|
|00003f50| 74 6d 70 46 69 72 73 74 | 20 3d 20 74 6d 70 4c 61 |tmpFirst| = tmpLa|
|00003f60| 73 74 20 3d 20 73 75 62 | 6a 65 63 74 73 5b 69 5d |st = sub|jects[i]|
|00003f70| 2e 6e 75 6d 62 65 72 3b | 0d 09 09 65 6c 73 65 20 |.number;|...else |
|00003f80| 69 66 20 28 74 6d 70 46 | 69 72 73 74 20 21 3d 20 |if (tmpF|irst != |
|00003f90| 2d 31 20 26 26 20 21 73 | 75 62 6a 65 63 74 73 5b |-1 && !s|ubjects[|
|00003fa0| 69 5d 2e 72 65 61 64 29 | 0d 09 09 09 74 6d 70 4c |i].read)|....tmpL|
|00003fb0| 61 73 74 20 3d 20 73 75 | 62 6a 65 63 74 73 5b 69 |ast = su|bjects[i|
|00003fc0| 5d 2e 6e 75 6d 62 65 72 | 3b 0d 09 09 65 6c 73 65 |].number|;...else|
|00003fd0| 20 69 66 20 28 74 6d 70 | 46 69 72 73 74 20 21 3d | if (tmp|First !=|
|00003fe0| 20 2d 31 20 26 26 20 73 | 75 62 6a 65 63 74 73 5b | -1 && s|ubjects[|
|00003ff0| 69 5d 2e 72 65 61 64 29 | 20 7b 0d 09 09 09 4d 61 |i].read)| {....Ma|
|00004000| 72 6b 52 65 61 64 28 74 | 6d 70 46 69 72 73 74 2c |rkRead(t|mpFirst,|
|00004010| 74 6d 70 4c 61 73 74 2c | 74 68 65 47 72 6f 75 70 |tmpLast,|theGroup|
|00004020| 29 3b 0d 09 09 09 74 6d | 70 46 69 72 73 74 20 3d |);....tm|pFirst =|
|00004030| 20 2d 31 3b 0d 09 09 7d | 0d 09 7d 0d 09 69 66 20 | -1;...}|..}..if |
|00004040| 28 74 6d 70 46 69 72 73 | 74 20 21 3d 20 2d 31 29 |(tmpFirs|t != -1)|
|00004050| 0d 09 09 4d 61 72 6b 52 | 65 61 64 28 74 6d 70 46 |...MarkR|ead(tmpF|
|00004060| 69 72 73 74 2c 74 6d 70 | 4c 61 73 74 2c 74 68 65 |irst,tmp|Last,the|
|00004070| 47 72 6f 75 70 29 3b 0d | 0d 09 69 66 20 28 74 68 |Group);.|..if (th|
|00004080| 65 47 72 6f 75 70 2d 3e | 72 65 61 64 3d 3d 6e 69 |eGroup->|read==ni|
|00004090| 6c 29 20 7b 0d 09 09 53 | 65 74 50 74 28 26 74 68 |l) {...S|etPt(&th|
|000040a0| 65 43 65 6c 6c 2c 30 2c | 30 29 3b 0d 09 09 69 66 |eCell,0,|0);...if|
|000040b0| 20 28 4c 53 65 61 72 63 | 68 28 74 68 65 47 72 6f | (LSearc|h(theGro|
|000040c0| 75 70 2d 3e 6e 61 6d 65 | 2c 73 74 72 6c 65 6e 28 |up->name|,strlen(|
|000040d0| 74 68 65 47 72 6f 75 70 | 2d 3e 6e 61 6d 65 29 2c |theGroup|->name),|
|000040e0| 43 6f 6d 70 61 72 65 53 | 74 61 72 74 2c 26 74 68 |CompareS|tart,&th|
|000040f0| 65 43 65 6c 6c 2c 28 4c | 69 73 74 48 61 6e 64 6c |eCell,(L|istHandl|
|00004100| 65 29 70 61 72 65 6e 74 | 49 6e 66 6f 2d 3e 64 61 |e)parent|Info->da|
|00004110| 74 61 29 29 20 7b 0d 09 | 09 09 6e 61 6d 65 4c 65 |ta)) {..|..nameLe|
|00004120| 6e 20 3d 20 32 35 36 3b | 0d 09 09 09 4c 47 65 74 |n = 256;|....LGet|
|00004130| 43 65 6c 6c 28 67 72 6f | 75 70 4e 61 6d 65 2c 26 |Cell(gro|upName,&|
|00004140| 6e 61 6d 65 4c 65 6e 2c | 74 68 65 43 65 6c 6c 2c |nameLen,|theCell,|
|00004150| 28 4c 69 73 74 48 61 6e | 64 6c 65 29 70 61 72 65 |(ListHan|dle)pare|
|00004160| 6e 74 49 6e 66 6f 2d 3e | 64 61 74 61 29 3b 0d 09 |ntInfo->|data);..|
|00004170| 09 09 69 66 20 28 20 28 | 28 75 6e 73 69 67 6e 65 |..if ( (|(unsigne|
|00004180| 64 20 63 68 61 72 29 20 | 67 72 6f 75 70 4e 61 6d |d char) |groupNam|
|00004190| 65 5b 6e 61 6d 65 4c 65 | 6e 2d 31 5d 29 20 21 3d |e[nameLe|n-1]) !=|
|000041a0| 20 30 78 66 66 20 29 20 | 7b 0d 09 09 09 09 67 72 | 0xff ) |{.....gr|
|000041b0| 6f 75 70 4e 61 6d 65 5b | 73 74 72 6c 65 6e 28 67 |oupName[|strlen(g|
|000041c0| 72 6f 75 70 4e 61 6d 65 | 29 2b 31 5d 20 3d 20 30 |roupName|)+1] = 0|
|000041d0| 78 66 66 3b 0d 09 09 09 | 09 4c 53 65 74 43 65 6c |xff;....|.LSetCel|
|000041e0| 6c 28 67 72 6f 75 70 4e | 61 6d 65 2c 73 74 72 6c |l(groupN|ame,strl|
|000041f0| 65 6e 28 67 72 6f 75 70 | 4e 61 6d 65 29 2b 32 2c |en(group|Name)+2,|
|00004200| 74 68 65 43 65 6c 6c 2c | 28 4c 69 73 74 48 61 6e |theCell,|(ListHan|
|00004210| 64 6c 65 29 70 61 72 65 | 6e 74 49 6e 66 6f 2d 3e |dle)pare|ntInfo->|
|00004220| 64 61 74 61 29 3b 0d 09 | 09 09 7d 0d 09 09 7d 0d |data);..|..}...}.|
|00004230| 09 7d 0d 7d 0d 0d 0d 2f | 2a 09 43 6f 6d 70 61 72 |.}.}.../|*.Compar|
|00004240| 65 53 74 61 72 74 20 69 | 73 20 61 20 73 74 72 69 |eStart i|s a stri|
|00004250| 6e 67 20 63 6f 6d 70 61 | 72 69 73 6f 6e 20 72 6f |ng compa|rison ro|
|00004260| 75 74 69 6e 65 20 77 68 | 69 63 68 20 72 65 74 75 |utine wh|ich retu|
|00004270| 72 6e 73 20 74 68 65 20 | 73 74 72 69 6e 67 73 20 |rns the |strings |
|00004280| 61 73 0d 09 65 71 75 61 | 6c 20 69 66 20 74 68 65 |as..equa|l if the|
|00004290| 79 20 73 68 61 72 65 20 | 61 20 63 6f 6d 6d 6f 6e |y share |a common|
|000042a0| 20 70 72 65 66 69 78 2e | 20 20 54 68 69 73 20 72 | prefix.| This r|
|000042b0| 6f 75 74 69 6e 65 20 61 | 6c 73 6f 20 69 67 6e 6f |outine a|lso igno|
|000042c0| 72 65 73 20 6c 65 61 64 | 69 6e 67 20 73 70 61 63 |res lead|ing spac|
|000042d0| 65 73 0d 09 61 6e 64 20 | 63 68 65 63 6b 20 6d 61 |es..and |check ma|
|000042e0| 72 6b 73 2e 0d 2a 2f 0d | 0d 70 61 73 63 61 6c 20 |rks..*/.|.pascal |
|000042f0| 73 68 6f 72 74 20 43 6f | 6d 70 61 72 65 53 74 61 |short Co|mpareSta|
|00004300| 72 74 28 50 74 72 20 61 | 50 74 72 2c 50 74 72 20 |rt(Ptr a|Ptr,Ptr |
|00004310| 62 50 74 72 2c 73 68 6f | 72 74 20 61 4c 65 6e 2c |bPtr,sho|rt aLen,|
|00004320| 73 68 6f 72 74 20 62 4c | 65 6e 29 0d 7b 0d 09 77 |short bL|en).{..w|
|00004330| 68 69 6c 65 20 28 2a 61 | 50 74 72 20 3d 3d 20 27 |hile (*a|Ptr == '|
|00004340| 20 27 20 7c 7c 20 2a 61 | 50 74 72 20 3d 3d 20 27 | ' || *a|Ptr == '|
|00004350| c3 27 29 20 7b 0d 09 09 | 61 50 74 72 2b 2b 3b 0d |.') {...|aPtr++;.|
|00004360| 09 09 61 4c 65 6e 2d 2d | 3b 0d 09 7d 0d 09 77 68 |..aLen--|;..}..wh|
|00004370| 69 6c 65 20 28 2a 62 50 | 74 72 20 3d 3d 20 27 20 |ile (*bP|tr == ' |
|00004380| 27 20 7c 7c 20 2a 62 50 | 74 72 20 3d 3d 20 27 c3 |' || *bP|tr == '.|
|00004390| 27 29 20 7b 0d 09 09 62 | 50 74 72 2b 2b 3b 0d 09 |') {...b|Ptr++;..|
|000043a0| 09 62 4c 65 6e 2d 2d 3b | 0d 09 7d 0d 09 0d 09 69 |.bLen--;|..}....i|
|000043b0| 66 20 28 61 4c 65 6e 20 | 3c 20 62 4c 65 6e 29 0d |f (aLen |< bLen).|
|000043c0| 09 09 62 4c 65 6e 20 3d | 20 61 4c 65 6e 3b 0d 09 |..bLen =| aLen;..|
|000043d0| 65 6c 73 65 20 69 66 20 | 28 62 4c 65 6e 20 3c 20 |else if |(bLen < |
|000043e0| 61 4c 65 6e 29 3b 0d 09 | 09 61 4c 65 6e 20 3d 20 |aLen);..|.aLen = |
|000043f0| 62 4c 65 6e 3b 0d 09 0d | 09 72 65 74 75 72 6e 20 |bLen;...|.return |
|00004400| 49 55 4d 61 67 49 44 53 | 74 72 69 6e 67 28 61 50 |IUMagIDS|tring(aP|
|00004410| 74 72 2c 62 50 74 72 2c | 61 4c 65 6e 2c 62 4c 65 |tr,bPtr,|aLen,bLe|
|00004420| 6e 29 3b 0d 7d 0d 0d 0d | 2f 2a 09 4d 61 72 6b 52 |n);.}...|/*.MarkR|
|00004430| 65 61 64 20 6d 61 72 6b | 73 20 61 20 72 61 6e 67 |ead mark|s a rang|
|00004440| 65 20 6f 66 20 6d 65 73 | 73 61 67 65 73 20 5f 75 |e of mes|sages _u|
|00004450| 6e 72 65 61 64 5f 20 69 | 6e 20 74 68 65 20 69 6e |nread_ i|n the in|
|00004460| 74 65 72 6e 61 6c 20 64 | 61 74 61 62 61 73 65 20 |ternal d|atabase |
|00004470| 66 6f 72 0d 09 74 68 65 | 20 73 70 65 63 69 66 69 |for..the| specifi|
|00004480| 65 64 20 67 72 6f 75 70 | 2e 0d 2a 2f 0d 0d 76 6f |ed group|..*/..vo|
|00004490| 69 64 20 4d 61 72 6b 52 | 65 61 64 28 6c 6f 6e 67 |id MarkR|ead(long|
|000044a0| 20 66 69 72 73 74 2c 6c | 6f 6e 67 20 6c 61 73 74 | first,l|ong last|
|000044b0| 2c 54 47 72 6f 75 70 20 | 2a 74 68 65 47 72 6f 75 |,TGroup |*theGrou|
|000044c0| 70 29 0d 7b 0d 09 54 52 | 65 61 64 52 65 63 20 2a |p).{..TR|eadRec *|
|000044d0| 72 65 61 64 2c 2a 6c 61 | 73 74 52 65 63 3b 0d 09 |read,*la|stRec;..|
|000044e0| 0d 09 72 65 61 64 20 3d | 20 28 54 52 65 61 64 52 |..read =| (TReadR|
|000044f0| 65 63 20 2a 29 4d 79 4e | 65 77 50 74 72 28 73 69 |ec *)MyN|ewPtr(si|
|00004500| 7a 65 6f 66 28 54 52 65 | 61 64 52 65 63 29 29 3b |zeof(TRe|adRec));|
|00004510| 0d 09 69 66 20 28 4d 79 | 4d 65 6d 45 72 72 28 29 |..if (My|MemErr()|
|00004520| 20 21 3d 20 6e 6f 45 72 | 72 29 0d 09 09 72 65 74 | != noEr|r)...ret|
|00004530| 75 72 6e 3b 0d 09 09 0d | 09 72 65 61 64 2d 3e 66 |urn;....|.read->f|
|00004540| 69 72 73 74 52 65 61 64 | 20 3d 20 66 69 72 73 74 |irstRead| = first|
|00004550| 3b 0d 09 72 65 61 64 2d | 3e 6c 61 73 74 52 65 61 |;..read-|>lastRea|
|00004560| 64 20 3d 20 6c 61 73 74 | 3b 0d 09 72 65 61 64 2d |d = last|;..read-|
|00004570| 3e 6e 65 78 74 20 3d 20 | 6e 69 6c 3b 0d 09 69 66 |>next = |nil;..if|
|00004580| 20 28 74 68 65 47 72 6f | 75 70 2d 3e 72 65 61 64 | (theGro|up->read|
|00004590| 29 20 7b 0d 09 09 66 6f | 72 20 28 6c 61 73 74 52 |) {...fo|r (lastR|
|000045a0| 65 63 20 3d 20 74 68 65 | 47 72 6f 75 70 2d 3e 72 |ec = the|Group->r|
|000045b0| 65 61 64 3b 20 6c 61 73 | 74 52 65 63 2d 3e 6e 65 |ead; las|tRec->ne|
|000045c0| 78 74 3b 20 6c 61 73 74 | 52 65 63 3d 6c 61 73 74 |xt; last|Rec=last|
|000045d0| 52 65 63 2d 3e 6e 65 78 | 74 29 0d 09 09 09 3b 0d |Rec->nex|t)....;.|
|000045e0| 09 09 6c 61 73 74 52 65 | 63 2d 3e 6e 65 78 74 20 |..lastRe|c->next |
|000045f0| 3d 20 72 65 61 64 3b 0d | 09 7d 0d 09 65 6c 73 65 |= read;.|.}..else|
|00004600| 20 74 68 65 47 72 6f 75 | 70 2d 3e 72 65 61 64 20 | theGrou|p->read |
|00004610| 3d 20 72 65 61 64 3b 0d | 7d 0d 0d 0d 2f 2a 09 4d |= read;.|}.../*.M|
|00004620| 61 72 6b 58 72 65 66 73 | 52 65 61 64 20 6d 61 72 |arkXrefs|Read mar|
|00004630| 6b 73 20 61 72 74 69 63 | 6c 65 73 20 77 68 69 63 |ks artic|les whic|
|00004640| 68 20 61 70 70 65 61 72 | 20 69 6e 20 6d 75 6c 74 |h appear| in mult|
|00004650| 69 70 6c 65 20 6e 65 77 | 73 67 72 6f 75 70 73 20 |iple new|sgroups |
|00004660| 61 73 20 72 65 61 64 0d | 09 69 6e 20 62 6f 74 68 |as read.|.in both|
|00004670| 20 6f 66 20 74 68 6f 73 | 65 20 6e 65 77 73 67 72 | of thos|e newsgr|
|00004680| 6f 75 70 73 2e 0d 2a 2f | 0d 0d 76 6f 69 64 20 4d |oups..*/|..void M|
|00004690| 61 72 6b 58 72 65 66 73 | 52 65 61 64 28 54 45 48 |arkXrefs|Read(TEH|
|000046a0| 61 6e 64 6c 65 20 6d 65 | 73 73 61 67 65 2c 54 47 |andle me|ssage,TG|
|000046b0| 72 6f 75 70 20 2a 67 72 | 6f 75 70 4c 69 73 74 29 |roup *gr|oupList)|
|000046c0| 0d 7b 0d 09 6c 6f 6e 67 | 20 6f 66 66 73 65 74 2c |.{..long| offset,|
|000046d0| 65 6e 64 48 65 61 64 65 | 72 2c 65 6e 64 4c 69 6e |endHeade|r,endLin|
|000046e0| 65 3b 0d 09 48 61 6e 64 | 6c 65 20 74 68 65 54 65 |e;..Hand|le theTe|
|000046f0| 78 74 3b 0d 09 63 68 61 | 72 20 2a 63 75 72 72 65 |xt;..cha|r *curre|
|00004700| 6e 74 2c 2a 73 74 6f 72 | 65 3b 0d 09 63 68 61 72 |nt,*stor|e;..char|
|00004710| 20 78 72 65 66 47 72 6f | 75 70 5b 32 35 36 5d 3b | xrefGro|up[256];|
|00004720| 0d 09 63 68 61 72 20 78 | 72 65 66 4e 75 6d 62 65 |..char x|refNumbe|
|00004730| 72 5b 32 35 36 5d 3b 0d | 09 6c 6f 6e 67 20 6e 75 |r[256];.|.long nu|
|00004740| 6d 62 65 72 3b 0d 09 63 | 68 61 72 20 6d 75 6e 67 |mber;..c|har mung|
|00004750| 65 54 65 78 74 5b 32 35 | 36 5d 3b 0d 09 0d 09 73 |eText[25|6];....s|
|00004760| 74 72 63 70 79 28 6d 75 | 6e 67 65 54 65 78 74 2c |trcpy(mu|ngeText,|
|00004770| 43 52 53 54 52 29 3b 0d | 09 73 74 72 63 61 74 28 |CRSTR);.|.strcat(|
|00004780| 6d 75 6e 67 65 54 65 78 | 74 2c 22 58 72 65 66 3a |mungeTex|t,"Xref:|
|00004790| 22 29 3b 0d 09 0d 09 74 | 68 65 54 65 78 74 20 3d |");....t|heText =|
|000047a0| 20 28 48 61 6e 64 6c 65 | 29 20 54 45 47 65 74 54 | (Handle|) TEGetT|
|000047b0| 65 78 74 28 28 54 45 48 | 61 6e 64 6c 65 29 6d 65 |ext((TEH|andle)me|
|000047c0| 73 73 61 67 65 29 3b 0d | 09 6f 66 66 73 65 74 20 |ssage);.|.offset |
|000047d0| 3d 20 4d 75 6e 67 65 72 | 28 28 48 61 6e 64 6c 65 |= Munger|((Handle|
|000047e0| 29 74 68 65 54 65 78 74 | 2c 30 4c 2c 6d 75 6e 67 |)theText|,0L,mung|
|000047f0| 65 54 65 78 74 2c 36 4c | 2c 6e 69 6c 2c 30 4c 29 |eText,6L|,nil,0L)|
|00004800| 3b 0d 09 69 66 20 28 6f | 66 66 73 65 74 20 3c 20 |;..if (o|ffset < |
|00004810| 30 29 20 7b 0d 09 09 6f | 66 66 73 65 74 20 3d 20 |0) {...o|ffset = |
|00004820| 4d 75 6e 67 65 72 28 74 | 68 65 54 65 78 74 2c 30 |Munger(t|heText,0|
|00004830| 4c 2c 22 58 72 65 66 3a | 22 2c 35 4c 2c 6e 69 6c |L,"Xref:|",5L,nil|
|00004840| 2c 30 4c 29 3b 0d 09 09 | 69 66 20 28 6f 66 66 73 |,0L);...|if (offs|
|00004850| 65 74 20 21 3d 20 30 29 | 0d 09 09 09 6f 66 66 73 |et != 0)|....offs|
|00004860| 65 74 20 3d 20 2d 31 3b | 0d 09 7d 0d 09 69 66 20 |et = -1;|..}..if |
|00004870| 28 6f 66 66 73 65 74 20 | 3c 20 30 29 0d 09 09 72 |(offset |< 0)...r|
|00004880| 65 74 75 72 6e 3b 0d 09 | 0d 09 73 74 72 63 70 79 |eturn;..|..strcpy|
|00004890| 28 6d 75 6e 67 65 54 65 | 78 74 2c 43 52 53 54 52 |(mungeTe|xt,CRSTR|
|000048a0| 29 3b 0d 09 73 74 72 63 | 61 74 28 6d 75 6e 67 65 |);..strc|at(munge|
|000048b0| 54 65 78 74 2c 43 52 53 | 54 52 29 3b 0d 09 65 6e |Text,CRS|TR);..en|
|000048c0| 64 48 65 61 64 65 72 20 | 3d 20 4d 75 6e 67 65 72 |dHeader |= Munger|
|000048d0| 28 74 68 65 54 65 78 74 | 2c 30 4c 2c 6d 75 6e 67 |(theText|,0L,mung|
|000048e0| 65 54 65 78 74 2c 32 4c | 2c 6e 69 6c 2c 30 4c 29 |eText,2L|,nil,0L)|
|000048f0| 3b 0d 09 69 66 20 28 6f | 66 66 73 65 74 20 3e 20 |;..if (o|ffset > |
|00004900| 65 6e 64 48 65 61 64 65 | 72 29 0d 09 09 72 65 74 |endHeade|r)...ret|
|00004910| 75 72 6e 3b 0d 09 0d 09 | 65 6e 64 4c 69 6e 65 20 |urn;....|endLine |
|00004920| 3d 20 4d 75 6e 67 65 72 | 28 74 68 65 54 65 78 74 |= Munger|(theText|
|00004930| 2c 6f 66 66 73 65 74 2c | 43 52 53 54 52 2c 31 4c |,offset,|CRSTR,1L|
|00004940| 2c 6e 69 6c 2c 30 4c 29 | 3b 0d 09 0d 09 48 4c 6f |,nil,0L)|;....HLo|
|00004950| 63 6b 28 74 68 65 54 65 | 78 74 29 3b 0d 09 63 75 |ck(theTe|xt);..cu|
|00004960| 72 72 65 6e 74 20 3d 20 | 28 2a 74 68 65 54 65 78 |rrent = |(*theTex|
|00004970| 74 29 2b 6f 66 66 73 65 | 74 3b 0d 09 0d 09 2f 2a |t)+offse|t;..../*|
|00004980| 20 73 6b 69 70 20 6f 76 | 65 72 20 73 69 74 65 20 | skip ov|er site |
|00004990| 6e 61 6d 65 20 2a 2f 0d | 09 0d 09 63 75 72 72 65 |name */.|...curre|
|000049a0| 6e 74 20 2b 3d 20 36 3b | 0d 09 77 68 69 6c 65 20 |nt += 6;|..while |
|000049b0| 28 2a 63 75 72 72 65 6e | 74 20 3d 3d 20 27 20 27 |(*curren|t == ' '|
|000049c0| 20 26 26 20 2a 63 75 72 | 72 65 6e 74 20 21 3d 20 | && *cur|rent != |
|000049d0| 43 52 29 0d 09 09 63 75 | 72 72 65 6e 74 2b 2b 3b |CR)...cu|rrent++;|
|000049e0| 0d 09 77 68 69 6c 65 20 | 28 2a 63 75 72 72 65 6e |..while |(*curren|
|000049f0| 74 20 21 3d 20 27 20 27 | 20 26 26 20 2a 63 75 72 |t != ' '| && *cur|
|00004a00| 72 65 6e 74 20 21 3d 20 | 43 52 29 0d 09 09 63 75 |rent != |CR)...cu|
|00004a10| 72 72 65 6e 74 2b 2b 3b | 0d 09 0d 09 2f 2a 20 70 |rrent++;|..../* p|
|00004a20| 61 72 73 65 20 78 72 65 | 66 65 64 20 67 72 6f 75 |arse xre|fed grou|
|00004a30| 70 73 20 2a 2f 0d 09 0d | 09 77 68 69 6c 65 20 28 |ps */...|.while (|
|00004a40| 63 75 72 72 65 6e 74 20 | 3c 20 28 2a 74 68 65 54 |current |< (*theT|
|00004a50| 65 78 74 29 2b 65 6e 64 | 4c 69 6e 65 29 20 7b 0d |ext)+end|Line) {.|
|00004a60| 09 09 73 74 6f 72 65 20 | 3d 20 78 72 65 66 47 72 |..store |= xrefGr|
|00004a70| 6f 75 70 3b 0d 09 09 77 | 68 69 6c 65 20 28 2a 63 |oup;...w|hile (*c|
|00004a80| 75 72 72 65 6e 74 20 3d | 3d 20 27 20 27 20 26 26 |urrent =|= ' ' &&|
|00004a90| 20 2a 63 75 72 72 65 6e | 74 20 21 3d 20 43 52 29 | *curren|t != CR)|
|00004aa0| 0d 09 09 09 63 75 72 72 | 65 6e 74 2b 2b 3b 0d 09 |....curr|ent++;..|
|00004ab0| 09 77 68 69 6c 65 20 28 | 2a 63 75 72 72 65 6e 74 |.while (|*current|
|00004ac0| 20 21 3d 20 27 3a 27 20 | 26 26 20 2a 63 75 72 72 | != ':' |&& *curr|
|00004ad0| 65 6e 74 20 21 3d 20 27 | 20 27 20 26 26 20 2a 63 |ent != '| ' && *c|
|00004ae0| 75 72 72 65 6e 74 20 21 | 3d 20 43 52 29 20 7b 0d |urrent !|= CR) {.|
|00004af0| 09 09 09 2a 73 74 6f 72 | 65 2b 2b 20 3d 20 2a 63 |...*stor|e++ = *c|
|00004b00| 75 72 72 65 6e 74 2b 2b | 3b 0d 09 09 7d 0d 09 09 |urrent++|;...}...|
|00004b10| 63 75 72 72 65 6e 74 2b | 2b 3b 0d 09 09 2a 73 74 |current+|+;...*st|
|00004b20| 6f 72 65 20 3d 20 27 5c | 30 27 3b 0d 09 09 0d 09 |ore = '\|0';.....|
|00004b30| 09 73 74 6f 72 65 20 3d | 20 78 72 65 66 4e 75 6d |.store =| xrefNum|
|00004b40| 62 65 72 3b 0d 09 09 77 | 68 69 6c 65 20 28 2a 63 |ber;...w|hile (*c|
|00004b50| 75 72 72 65 6e 74 20 21 | 3d 20 27 20 27 20 26 26 |urrent !|= ' ' &&|
|00004b60| 20 2a 63 75 72 72 65 6e | 74 20 21 3d 20 27 20 27 | *curren|t != ' '|
|00004b70| 20 26 26 20 2a 63 75 72 | 72 65 6e 74 20 21 3d 20 | && *cur|rent != |
|00004b80| 43 52 29 20 0d 09 09 09 | 2a 73 74 6f 72 65 2b 2b |CR) ....|*store++|
|00004b90| 20 3d 20 2a 63 75 72 72 | 65 6e 74 2b 2b 3b 0d 09 | = *curr|ent++;..|
|00004ba0| 09 2a 73 74 6f 72 65 20 | 3d 20 27 5c 30 27 3b 0d |.*store |= '\0';.|
|00004bb0| 09 09 63 32 70 73 74 72 | 28 78 72 65 66 4e 75 6d |..c2pstr|(xrefNum|
|00004bc0| 62 65 72 29 3b 0d 09 09 | 53 74 72 69 6e 67 54 6f |ber);...|StringTo|
|00004bd0| 4e 75 6d 28 78 72 65 66 | 4e 75 6d 62 65 72 2c 26 |Num(xref|Number,&|
|00004be0| 6e 75 6d 62 65 72 29 3b | 0d 09 09 4d 61 72 6b 4f |number);|...MarkO|
|00004bf0| 6e 65 52 65 61 64 28 78 | 72 65 66 47 72 6f 75 70 |neRead(x|refGroup|
|00004c00| 2c 6e 75 6d 62 65 72 2c | 67 72 6f 75 70 4c 69 73 |,number,|groupLis|
|00004c10| 74 29 3b 0d 09 7d 0d 09 | 0d 09 48 55 6e 6c 6f 63 |t);..}..|..HUnloc|
|00004c20| 6b 28 74 68 65 54 65 78 | 74 29 3b 0d 7d 0d 0d 0d |k(theTex|t);.}...|
|00004c30| 2f 2a 09 4d 61 72 6b 4f | 6e 65 52 65 61 64 20 6d |/*.MarkO|neRead m|
|00004c40| 61 72 6b 73 20 61 20 73 | 69 6e 67 6c 65 20 6d 65 |arks a s|ingle me|
|00004c50| 73 73 61 67 65 20 69 6e | 20 61 20 73 70 65 63 69 |ssage in| a speci|
|00004c60| 66 69 65 64 20 67 72 6f | 75 70 20 61 73 20 62 65 |fied gro|up as be|
|00004c70| 69 6e 67 20 72 65 61 64 | 2e 0d 2a 2f 0d 0d 76 6f |ing read|..*/..vo|
|00004c80| 69 64 20 4d 61 72 6b 4f | 6e 65 52 65 61 64 28 63 |id MarkO|neRead(c|
|00004c90| 68 61 72 20 2a 67 72 6f | 75 70 4e 61 6d 65 2c 6c |har *gro|upName,l|
|00004ca0| 6f 6e 67 20 6e 75 6d 62 | 65 72 2c 54 47 72 6f 75 |ong numb|er,TGrou|
|00004cb0| 70 20 2a 67 72 6f 75 70 | 4c 69 73 74 29 0d 7b 0d |p *group|List).{.|
|00004cc0| 09 54 47 72 6f 75 70 20 | 2a 74 68 65 47 72 6f 75 |.TGroup |*theGrou|
|00004cd0| 70 3b 0d 09 54 52 65 61 | 64 52 65 63 20 2a 72 65 |p;..TRea|dRec *re|
|00004ce0| 61 64 2c 2a 6e 65 77 52 | 65 61 64 2c 2a 70 72 65 |ad,*newR|ead,*pre|
|00004cf0| 76 52 65 61 64 3b 0d 09 | 0d 09 66 6f 72 20 28 74 |vRead;..|..for (t|
|00004d00| 68 65 47 72 6f 75 70 20 | 3d 20 67 72 6f 75 70 4c |heGroup |= groupL|
|00004d10| 69 73 74 3b 0d 09 09 74 | 68 65 47 72 6f 75 70 20 |ist;...t|heGroup |
|00004d20| 26 26 20 73 74 72 63 6d | 70 28 74 68 65 47 72 6f |&& strcm|p(theGro|
|00004d30| 75 70 2d 3e 6e 61 6d 65 | 2c 67 72 6f 75 70 4e 61 |up->name|,groupNa|
|00004d40| 6d 65 29 21 3d 30 3b 0d | 09 09 74 68 65 47 72 6f |me)!=0;.|..theGro|
|00004d50| 75 70 20 3d 20 74 68 65 | 47 72 6f 75 70 2d 3e 6e |up = the|Group->n|
|00004d60| 65 78 74 29 3b 0d 09 0d | 09 69 66 20 28 21 74 68 |ext);...|.if (!th|
|00004d70| 65 47 72 6f 75 70 29 0d | 09 09 72 65 74 75 72 6e |eGroup).|..return|
|00004d80| 3b 0d 09 09 0d 09 66 6f | 72 20 28 72 65 61 64 20 |;.....fo|r (read |
|00004d90| 3d 20 70 72 65 76 52 65 | 61 64 20 3d 20 74 68 65 |= prevRe|ad = the|
|00004da0| 47 72 6f 75 70 2d 3e 72 | 65 61 64 3b 0d 09 09 72 |Group->r|ead;...r|
|00004db0| 65 61 64 20 26 26 20 21 | 28 6e 75 6d 62 65 72 3e |ead && !|(number>|
|00004dc0| 3d 72 65 61 64 2d 3e 66 | 69 72 73 74 52 65 61 64 |=read->f|irstRead|
|00004dd0| 20 20 26 26 20 6e 75 6d | 62 65 72 3c 3d 72 65 61 | && num|ber<=rea|
|00004de0| 64 2d 3e 6c 61 73 74 52 | 65 61 64 29 3b 0d 09 09 |d->lastR|ead);...|
|00004df0| 70 72 65 76 52 65 61 64 | 20 3d 20 72 65 61 64 2c |prevRead| = read,|
|00004e00| 72 65 61 64 20 3d 20 72 | 65 61 64 2d 3e 6e 65 78 |read = r|ead->nex|
|00004e10| 74 29 3b 0d 09 0d 09 69 | 66 20 28 21 72 65 61 64 |t);....i|f (!read|
|00004e20| 29 09 2f 2a 20 61 6c 72 | 65 61 64 79 20 72 65 61 |)./* alr|eady rea|
|00004e30| 64 20 2a 2f 0d 09 09 72 | 65 74 75 72 6e 3b 0d 09 |d */...r|eturn;..|
|00004e40| 0d 09 69 66 20 28 6e 75 | 6d 62 65 72 20 3d 3d 20 |..if (nu|mber == |
|00004e50| 72 65 61 64 2d 3e 66 69 | 72 73 74 52 65 61 64 29 |read->fi|rstRead)|
|00004e60| 20 7b 0d 09 09 72 65 61 | 64 2d 3e 66 69 72 73 74 | {...rea|d->first|
|00004e70| 52 65 61 64 2b 2b 3b 0d | 09 09 69 66 20 28 72 65 |Read++;.|..if (re|
|00004e80| 61 64 2d 3e 66 69 72 73 | 74 52 65 61 64 20 3d 3d |ad->firs|tRead ==|
|00004e90| 20 72 65 61 64 2d 3e 6c | 61 73 74 52 65 61 64 29 | read->l|astRead)|
|00004ea0| 20 7b 0d 09 09 09 69 66 | 20 28 72 65 61 64 20 21 | {....if| (read !|
|00004eb0| 3d 20 70 72 65 76 52 65 | 61 64 29 0d 09 09 09 09 |= prevRe|ad).....|
|00004ec0| 70 72 65 76 52 65 61 64 | 2d 3e 6e 65 78 74 20 3d |prevRead|->next =|
|00004ed0| 20 72 65 61 64 2d 3e 6e | 65 78 74 3b 0d 09 09 09 | read->n|ext;....|
|00004ee0| 65 6c 73 65 0d 09 09 09 | 09 74 68 65 47 72 6f 75 |else....|.theGrou|
|00004ef0| 70 2d 3e 72 65 61 64 20 | 3d 20 72 65 61 64 2d 3e |p->read |= read->|
|00004f00| 6e 65 78 74 3b 0d 09 09 | 09 44 69 73 70 6f 73 50 |next;...|.DisposP|
|00004f10| 74 72 28 28 50 74 72 29 | 72 65 61 64 29 3b 0d 09 |tr((Ptr)|read);..|
|00004f20| 09 7d 0d 09 09 72 65 74 | 75 72 6e 3b 0d 09 7d 0d |.}...ret|urn;..}.|
|00004f30| 0d 09 69 66 20 28 6e 75 | 6d 62 65 72 20 3d 3d 20 |..if (nu|mber == |
|00004f40| 72 65 61 64 2d 3e 6c 61 | 73 74 52 65 61 64 29 20 |read->la|stRead) |
|00004f50| 7b 0d 09 09 72 65 61 64 | 2d 3e 6c 61 73 74 52 65 |{...read|->lastRe|
|00004f60| 61 64 2d 2d 3b 0d 09 09 | 69 66 20 28 72 65 61 64 |ad--;...|if (read|
|00004f70| 2d 3e 66 69 72 73 74 52 | 65 61 64 20 3d 3d 20 72 |->firstR|ead == r|
|00004f80| 65 61 64 2d 3e 6c 61 73 | 74 52 65 61 64 29 20 7b |ead->las|tRead) {|
|00004f90| 0d 09 09 09 69 66 20 28 | 72 65 61 64 20 21 3d 20 |....if (|read != |
|00004fa0| 70 72 65 76 52 65 61 64 | 29 0d 09 09 09 09 70 72 |prevRead|).....pr|
|00004fb0| 65 76 52 65 61 64 2d 3e | 6e 65 78 74 20 3d 20 72 |evRead->|next = r|
|00004fc0| 65 61 64 2d 3e 6e 65 78 | 74 3b 0d 09 09 09 65 6c |ead->nex|t;....el|
|00004fd0| 73 65 0d 09 09 09 09 74 | 68 65 47 72 6f 75 70 2d |se.....t|heGroup-|
|00004fe0| 3e 72 65 61 64 20 3d 20 | 72 65 61 64 2d 3e 6e 65 |>read = |read->ne|
|00004ff0| 78 74 3b 0d 09 09 09 44 | 69 73 70 6f 73 50 74 72 |xt;....D|isposPtr|
|00005000| 28 28 50 74 72 29 72 65 | 61 64 29 3b 0d 09 09 7d |((Ptr)re|ad);...}|
|00005010| 0d 09 09 72 65 74 75 72 | 6e 3b 0d 09 7d 0d 09 0d |...retur|n;..}...|
|00005020| 09 2f 2a 20 73 70 6c 69 | 74 20 74 68 69 73 20 6f |./* spli|t this o|
|00005030| 6e 65 20 69 6e 20 68 61 | 6c 66 20 2a 2f 0d 09 0d |ne in ha|lf */...|
|00005040| 09 6e 65 77 52 65 61 64 | 20 3d 20 28 54 52 65 61 |.newRead| = (TRea|
|00005050| 64 52 65 63 20 2a 29 4e | 65 77 50 74 72 28 73 69 |dRec *)N|ewPtr(si|
|00005060| 7a 65 6f 66 28 54 52 65 | 61 64 52 65 63 29 29 3b |zeof(TRe|adRec));|
|00005070| 0d 09 6e 65 77 52 65 61 | 64 2d 3e 6e 65 78 74 20 |..newRea|d->next |
|00005080| 3d 20 72 65 61 64 2d 3e | 6e 65 78 74 3b 0d 09 72 |= read->|next;..r|
|00005090| 65 61 64 2d 3e 6e 65 78 | 74 20 3d 20 6e 65 77 52 |ead->nex|t = newR|
|000050a0| 65 61 64 3b 0d 09 6e 65 | 77 52 65 61 64 2d 3e 6c |ead;..ne|wRead->l|
|000050b0| 61 73 74 52 65 61 64 20 | 3d 20 72 65 61 64 2d 3e |astRead |= read->|
|000050c0| 6c 61 73 74 52 65 61 64 | 3b 0d 09 6e 65 77 52 65 |lastRead|;..newRe|
|000050d0| 61 64 2d 3e 66 69 72 73 | 74 52 65 61 64 20 3d 20 |ad->firs|tRead = |
|000050e0| 6e 75 6d 62 65 72 20 2b | 20 31 3b 0d 09 72 65 61 |number +| 1;..rea|
|000050f0| 64 2d 3e 6c 61 73 74 52 | 65 61 64 20 3d 20 6e 75 |d->lastR|ead = nu|
|00005100| 6d 62 65 72 20 2d 20 31 | 3b 0d 7d 0d 0d 0d 2f 2a |mber - 1|;.}.../*|
|00005110| 09 53 75 62 73 63 72 69 | 62 65 20 61 64 64 73 20 |.Subscri|be adds |
|00005120| 74 68 65 20 67 69 76 65 | 6e 20 67 72 6f 75 70 20 |the give|n group |
|00005130| 74 6f 20 74 68 65 20 6c | 69 73 74 20 6f 66 20 67 |to the l|ist of g|
|00005140| 72 6f 75 70 73 20 74 6f | 20 77 68 69 63 68 20 74 |roups to| which t|
|00005150| 68 65 0d 09 75 73 65 72 | 20 69 73 20 73 75 62 73 |he..user| is subs|
|00005160| 63 72 69 62 65 64 2e 20 | 20 54 68 69 73 20 69 73 |cribed. | This is|
|00005170| 20 63 61 6c 6c 65 64 20 | 77 68 65 6e 20 61 20 75 | called |when a u|
|00005180| 73 65 72 20 64 72 61 67 | 73 20 61 20 67 72 6f 75 |ser drag|s a grou|
|00005190| 70 20 66 72 6f 6d 0d 09 | 74 68 65 20 6d 61 69 6e |p from..|the main|
|000051a0| 20 67 72 6f 75 70 20 6c | 69 73 74 20 69 6e 74 6f | group l|ist into|
|000051b0| 20 68 69 73 2f 68 65 72 | 20 75 73 65 72 20 67 72 | his/her| user gr|
|000051c0| 6f 75 70 20 6c 69 73 74 | 2e 0d 2a 2f 0d 0d 54 47 |oup list|..*/..TG|
|000051d0| 72 6f 75 70 20 2a 53 75 | 62 73 63 72 69 62 65 28 |roup *Su|bscribe(|
|000051e0| 54 47 72 6f 75 70 20 2a | 74 68 65 47 72 6f 75 70 |TGroup *|theGroup|
|000051f0| 2c 57 69 6e 64 6f 77 50 | 74 72 20 74 68 65 57 69 |,WindowP|tr theWi|
|00005200| 6e 64 6f 77 2c 43 65 6c | 6c 20 2a 72 65 74 43 65 |ndow,Cel|l *retCe|
|00005210| 6c 6c 29 0d 7b 0d 09 4c | 69 73 74 48 61 6e 64 6c |ll).{..L|istHandl|
|00005220| 65 20 74 68 65 4c 69 73 | 74 3b 0d 09 43 65 6c 6c |e theLis|t;..Cell|
|00005230| 20 74 68 65 43 65 6c 6c | 3b 0d 09 54 77 69 6e 64 | theCell|;..Twind|
|00005240| 6f 77 49 6e 66 6f 20 2a | 74 68 65 49 6e 66 6f 3b |owInfo *|theInfo;|
|00005250| 0d 09 54 47 72 6f 75 70 | 20 2a 74 6d 70 50 74 72 |..TGroup| *tmpPtr|
|00005260| 2c 2a 6c 61 73 74 3b 0d | 09 73 68 6f 72 74 20 63 |,*last;.|.short c|
|00005270| 65 6c 6c 53 69 7a 65 3b | 0d 09 63 68 61 72 20 74 |ellSize;|..char t|
|00005280| 6d 70 4e 61 6d 65 5b 32 | 35 36 5d 3b 0d 09 0d 09 |mpName[2|56];....|
|00005290| 74 68 65 49 6e 66 6f 20 | 3d 20 28 54 77 69 6e 64 |theInfo |= (Twind|
|000052a0| 6f 77 49 6e 66 6f 20 2a | 29 47 65 74 57 52 65 66 |owInfo *|)GetWRef|
|000052b0| 43 6f 6e 28 74 68 65 57 | 69 6e 64 6f 77 29 3b 0d |Con(theW|indow);.|
|000052c0| 09 74 68 65 49 6e 66 6f | 2d 3e 63 68 61 6e 67 65 |.theInfo|->change|
|000052d0| 64 20 3d 20 74 72 75 65 | 3b 0d 09 0d 09 66 6f 72 |d = true|;....for|
|000052e0| 20 28 74 6d 70 50 74 72 | 20 3d 20 28 54 47 72 6f | (tmpPtr| = (TGro|
|000052f0| 75 70 20 2a 29 74 68 65 | 49 6e 66 6f 2d 3e 64 61 |up *)the|Info->da|
|00005300| 74 61 32 3b 0d 09 09 74 | 6d 70 50 74 72 20 26 26 |ta2;...t|mpPtr &&|
|00005310| 20 73 74 72 63 6d 70 28 | 74 68 65 47 72 6f 75 70 | strcmp(|theGroup|
|00005320| 2d 3e 6e 61 6d 65 2c 74 | 6d 70 50 74 72 2d 3e 6e |->name,t|mpPtr->n|
|00005330| 61 6d 65 29 21 3d 30 3b | 0d 09 09 74 6d 70 50 74 |ame)!=0;|...tmpPt|
|00005340| 72 20 3d 20 74 6d 70 50 | 74 72 2d 3e 6e 65 78 74 |r = tmpP|tr->next|
|00005350| 29 0d 09 09 09 3b 0d 09 | 09 09 0d 09 69 66 20 28 |)....;..|....if (|
|00005360| 74 6d 70 50 74 72 29 20 | 7b 0d 09 09 53 79 73 42 |tmpPtr) |{...SysB|
|00005370| 65 65 70 28 31 29 3b 0d | 09 09 72 65 74 75 72 6e |eep(1);.|..return|
|00005380| 20 6e 69 6c 3b 0d 09 7d | 0d 0d 09 2f 2a 20 49 20 | nil;..}|.../* I |
|00005390| 64 6f 20 74 68 69 73 20 | 74 6f 20 6b 65 65 70 20 |do this |to keep |
|000053a0| 6f 72 64 65 72 20 62 79 | 20 69 6e 73 65 72 74 69 |order by| inserti|
|000053b0| 6e 67 20 61 74 20 74 68 | 65 20 65 6e 64 20 6f 66 |ng at th|e end of|
|000053c0| 20 6e 65 77 73 67 72 6f | 75 70 73 20 2a 2f 0d 09 | newsgro|ups */..|
|000053d0| 09 09 0d 09 74 6d 70 50 | 74 72 20 3d 20 28 54 47 |....tmpP|tr = (TG|
|000053e0| 72 6f 75 70 20 2a 29 4d | 79 4e 65 77 50 74 72 28 |roup *)M|yNewPtr(|
|000053f0| 73 69 7a 65 6f 66 28 54 | 47 72 6f 75 70 29 29 3b |sizeof(T|Group));|
|00005400| 0d 09 69 66 20 28 4d 79 | 4d 65 6d 45 72 72 28 29 |..if (My|MemErr()|
|00005410| 20 21 3d 20 6e 6f 45 72 | 72 29 0d 09 09 72 65 74 | != noEr|r)...ret|
|00005420| 75 72 6e 20 6e 69 6c 3b | 0d 09 09 09 09 0d 09 73 |urn nil;|.......s|
|00005430| 74 72 63 70 79 28 74 6d | 70 50 74 72 2d 3e 6e 61 |trcpy(tm|pPtr->na|
|00005440| 6d 65 2c 74 68 65 47 72 | 6f 75 70 2d 3e 6e 61 6d |me,theGr|oup->nam|
|00005450| 65 29 3b 0d 09 74 6d 70 | 50 74 72 2d 3e 66 69 72 |e);..tmp|Ptr->fir|
|00005460| 73 74 4d 65 73 73 20 3d | 20 74 68 65 47 72 6f 75 |stMess =| theGrou|
|00005470| 70 2d 3e 66 69 72 73 74 | 4d 65 73 73 3b 0d 09 74 |p->first|Mess;..t|
|00005480| 6d 70 50 74 72 2d 3e 6c | 61 73 74 4d 65 73 73 20 |mpPtr->l|astMess |
|00005490| 3d 20 74 68 65 47 72 6f | 75 70 2d 3e 6c 61 73 74 |= theGro|up->last|
|000054a0| 4d 65 73 73 3b 0d 09 74 | 6d 70 50 74 72 2d 3e 73 |Mess;..t|mpPtr->s|
|000054b0| 74 61 74 75 73 20 3d 20 | 74 68 65 47 72 6f 75 70 |tatus = |theGroup|
|000054c0| 2d 3e 73 74 61 74 75 73 | 3b 0d 09 0d 09 74 6d 70 |->status|;....tmp|
|000054d0| 50 74 72 2d 3e 72 65 61 | 64 20 3d 20 28 54 52 65 |Ptr->rea|d = (TRe|
|000054e0| 61 64 52 65 63 20 2a 29 | 4d 79 4e 65 77 50 74 72 |adRec *)|MyNewPtr|
|000054f0| 28 73 69 7a 65 6f 66 28 | 54 52 65 61 64 52 65 63 |(sizeof(|TReadRec|
|00005500| 29 29 3b 0d 09 69 66 20 | 28 4d 79 4d 65 6d 45 72 |));..if |(MyMemEr|
|00005510| 72 28 29 20 21 3d 20 6e | 6f 45 72 72 29 0d 09 09 |r() != n|oErr)...|
|00005520| 72 65 74 75 72 6e 20 6e | 69 6c 3b 0d 09 09 0d 09 |return n|il;.....|
|00005530| 74 6d 70 50 74 72 2d 3e | 72 65 61 64 2d 3e 66 69 |tmpPtr->|read->fi|
|00005540| 72 73 74 52 65 61 64 20 | 3d 20 74 68 65 47 72 6f |rstRead |= theGro|
|00005550| 75 70 2d 3e 66 69 72 73 | 74 4d 65 73 73 3b 0d 09 |up->firs|tMess;..|
|00005560| 74 6d 70 50 74 72 2d 3e | 72 65 61 64 2d 3e 6c 61 |tmpPtr->|read->la|
|00005570| 73 74 52 65 61 64 20 3d | 20 74 68 65 47 72 6f 75 |stRead =| theGrou|
|00005580| 70 2d 3e 6c 61 73 74 4d | 65 73 73 3b 0d 09 74 6d |p->lastM|ess;..tm|
|00005590| 70 50 74 72 2d 3e 72 65 | 61 64 2d 3e 6e 65 78 74 |pPtr->re|ad->next|
|000055a0| 20 3d 20 6e 69 6c 3b 0d | 09 0d 09 73 74 72 63 70 | = nil;.|...strcp|
|000055b0| 79 28 74 6d 70 4e 61 6d | 65 2c 74 6d 70 50 74 72 |y(tmpNam|e,tmpPtr|
|000055c0| 2d 3e 6e 61 6d 65 29 3b | 0d 09 69 66 20 28 20 28 |->name);|..if ( (|
|000055d0| 74 6d 70 50 74 72 2d 3e | 6c 61 73 74 4d 65 73 73 |tmpPtr->|lastMess|
|000055e0| 20 2d 20 74 6d 70 50 74 | 72 2d 3e 66 69 72 73 74 | - tmpPt|r->first|
|000055f0| 4d 65 73 73 29 20 3c 3d | 20 30 20 29 20 7b 0d 09 |Mess) <=| 0 ) {..|
|00005600| 09 63 65 6c 6c 53 69 7a | 65 20 3d 20 73 74 72 6c |.cellSiz|e = strl|
|00005610| 65 6e 28 74 6d 70 4e 61 | 6d 65 29 2b 32 3b 0d 09 |en(tmpNa|me)+2;..|
|00005620| 09 74 6d 70 4e 61 6d 65 | 5b 73 74 72 6c 65 6e 28 |.tmpName|[strlen(|
|00005630| 74 6d 70 4e 61 6d 65 29 | 2b 31 5d 20 3d 20 30 78 |tmpName)|+1] = 0x|
|00005640| 66 66 3b 0d 09 7d 0d 09 | 65 6c 73 65 0d 09 09 63 |ff;..}..|else...c|
|00005650| 65 6c 6c 53 69 7a 65 20 | 3d 20 73 74 72 6c 65 6e |ellSize |= strlen|
|00005660| 28 74 6d 70 4e 61 6d 65 | 29 2b 31 3b 0d 09 0d 09 |(tmpName|)+1;....|
|00005670| 74 6d 70 50 74 72 2d 3e | 6e 65 78 74 20 3d 20 6e |tmpPtr->|next = n|
|00005680| 69 6c 3b 0d 0d 09 66 6f | 72 20 28 6c 61 73 74 20 |il;...fo|r (last |
|00005690| 3d 20 28 54 47 72 6f 75 | 70 20 2a 29 20 74 68 65 |= (TGrou|p *) the|
|000056a0| 49 6e 66 6f 2d 3e 64 61 | 74 61 32 3b 0d 09 09 6c |Info->da|ta2;...l|
|000056b0| 61 73 74 20 26 26 20 6c | 61 73 74 2d 3e 6e 65 78 |ast && l|ast->nex|
|000056c0| 74 20 21 3d 20 6e 69 6c | 3b 0d 09 09 6c 61 73 74 |t != nil|;...last|
|000056d0| 20 3d 20 6c 61 73 74 2d | 3e 6e 65 78 74 29 0d 09 | = last-|>next)..|
|000056e0| 09 3b 0d 09 69 66 20 28 | 21 6c 61 73 74 29 0d 09 |.;..if (|!last)..|
|000056f0| 09 74 68 65 49 6e 66 6f | 2d 3e 64 61 74 61 32 20 |.theInfo|->data2 |
|00005700| 3d 20 28 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |= (unsig|ned long|
|00005710| 29 20 74 6d 70 50 74 72 | 3b 0d 09 65 6c 73 65 0d |) tmpPtr|;..else.|
|00005720| 09 09 6c 61 73 74 2d 3e | 6e 65 78 74 20 3d 20 74 |..last->|next = t|
|00005730| 6d 70 50 74 72 3b 0d 09 | 0d 09 74 68 65 4c 69 73 |mpPtr;..|..theLis|
|00005740| 74 20 3d 20 28 4c 69 73 | 74 48 61 6e 64 6c 65 29 |t = (Lis|tHandle)|
|00005750| 74 68 65 49 6e 66 6f 2d | 3e 64 61 74 61 3b 0d 09 |theInfo-|>data;..|
|00005760| 53 65 74 50 74 28 26 74 | 68 65 43 65 6c 6c 2c 30 |SetPt(&t|heCell,0|
|00005770| 2c 4c 41 64 64 52 6f 77 | 28 31 2c 74 68 65 49 6e |,LAddRow|(1,theIn|
|00005780| 66 6f 2d 3e 6e 75 6d 47 | 72 6f 75 70 73 2b 2b 2c |fo->numG|roups++,|
|00005790| 74 68 65 4c 69 73 74 29 | 29 3b 0d 09 4c 53 65 74 |theList)|);..LSet|
|000057a0| 43 65 6c 6c 28 74 6d 70 | 4e 61 6d 65 2c 63 65 6c |Cell(tmp|Name,cel|
|000057b0| 6c 53 69 7a 65 2c 74 68 | 65 43 65 6c 6c 2c 74 68 |lSize,th|eCell,th|
|000057c0| 65 4c 69 73 74 29 3b 0d | 09 4c 44 72 61 77 28 74 |eList);.|.LDraw(t|
|000057d0| 68 65 43 65 6c 6c 2c 74 | 68 65 4c 69 73 74 29 3b |heCell,t|heList);|
|000057e0| 0d 0d 09 2a 72 65 74 43 | 65 6c 6c 20 3d 20 74 68 |...*retC|ell = th|
|000057f0| 65 43 65 6c 6c 3b 0d 09 | 72 65 74 75 72 6e 20 74 |eCell;..|return t|
|00005800| 6d 70 50 74 72 3b 0d 7d | 0d 0d 0d 2f 2a 09 44 6f |mpPtr;.}|.../*.Do|
|00005810| 4d 61 72 6b 41 72 74 69 | 63 6c 65 52 65 61 64 20 |MarkArti|cleRead |
|00005820| 69 73 20 63 61 6c 6c 65 | 64 20 77 68 65 6e 20 61 |is calle|d when a|
|00005830| 20 75 73 65 72 20 73 65 | 6c 65 63 74 73 20 4d 61 | user se|lects Ma|
|00005840| 72 6b 20 52 65 61 64 20 | 66 72 6f 6d 20 74 68 65 |rk Read |from the|
|00005850| 0d 09 4e 65 77 73 20 6d | 65 6e 75 2e 20 20 49 74 |..News m|enu. It|
|00005860| 20 6d 61 72 6b 73 20 61 | 6c 6c 20 73 65 6c 65 63 | marks a|ll selec|
|00005870| 74 65 64 20 61 72 74 69 | 63 6c 65 73 20 69 6e 20 |ted arti|cles in |
|00005880| 77 69 6e 64 6f 77 20 72 | 65 61 64 2e 0d 2a 2f 0d |window r|ead..*/.|
|00005890| 0d 76 6f 69 64 20 44 6f | 4d 61 72 6b 41 72 74 69 |.void Do|MarkArti|
|000058a0| 63 6c 65 52 65 61 64 28 | 42 6f 6f 6c 65 61 6e 20 |cleRead(|Boolean |
|000058b0| 72 65 61 64 29 0d 7b 0d | 09 54 77 69 6e 64 6f 77 |read).{.|.Twindow|
|000058c0| 49 6e 66 6f 20 2a 69 6e | 66 6f 3b 0d 09 43 65 6c |Info *in|fo;..Cel|
|000058d0| 6c 20 74 68 65 43 65 6c | 6c 3b 0d 09 0d 09 69 66 |l theCel|l;....if|
|000058e0| 20 28 21 49 73 41 70 70 | 57 69 6e 64 6f 77 28 46 | (!IsApp|Window(F|
|000058f0| 72 6f 6e 74 57 69 6e 64 | 6f 77 28 29 29 29 0d 09 |rontWind|ow()))..|
|00005900| 09 72 65 74 75 72 6e 3b | 0d 09 69 6e 66 6f 20 3d |.return;|..info =|
|00005910| 20 28 54 77 69 6e 64 6f | 77 49 6e 66 6f 20 2a 29 | (Twindo|wInfo *)|
|00005920| 47 65 74 57 52 65 66 43 | 6f 6e 28 46 72 6f 6e 74 |GetWRefC|on(Front|
|00005930| 57 69 6e 64 6f 77 28 29 | 29 3b 0d 09 69 66 20 28 |Window()|);..if (|
|00005940| 69 6e 66 6f 2d 3e 6b 69 | 6e 64 20 21 3d 20 63 53 |info->ki|nd != cS|
|00005950| 75 62 6a 65 63 74 29 0d | 09 09 72 65 74 75 72 6e |ubject).|..return|
|00005960| 3b 0d 09 0d 09 74 68 65 | 43 65 6c 6c 2e 68 20 3d |;....the|Cell.h =|
|00005970| 20 74 68 65 43 65 6c 6c | 2e 76 20 3d 20 30 3b 0d | theCell|.v = 0;.|
|00005980| 09 77 68 69 6c 65 20 28 | 4c 47 65 74 53 65 6c 65 |.while (|LGetSele|
|00005990| 63 74 28 74 72 75 65 2c | 26 74 68 65 43 65 6c 6c |ct(true,|&theCell|
|000059a0| 2c 28 4c 69 73 74 48 61 | 6e 64 6c 65 29 69 6e 66 |,(ListHa|ndle)inf|
|000059b0| 6f 2d 3e 64 61 74 61 29 | 29 20 7b 0d 09 09 4c 6f |o->data)|) {...Lo|
|000059c0| 4d 61 72 6b 41 72 74 69 | 63 6c 65 52 65 61 64 28 |MarkArti|cleRead(|
|000059d0| 69 6e 66 6f 2c 74 68 65 | 43 65 6c 6c 2c 72 65 61 |info,the|Cell,rea|
|000059e0| 64 29 3b 0d 09 09 74 68 | 65 43 65 6c 6c 2e 76 2b |d);...th|eCell.v+|
|000059f0| 2b 3b 0d 09 7d 0d 7d 0d | 0d 0d 2f 2a 09 4c 6f 4d |+;..}.}.|../*.LoM|
|00005a00| 61 72 6b 41 72 74 69 63 | 6c 65 52 65 61 64 20 69 |arkArtic|leRead i|
|00005a10| 73 20 74 68 65 20 6c 6f | 77 2d 6c 65 76 65 6c 20 |s the lo|w-level |
|00005a20| 70 72 6f 63 65 64 75 72 | 65 20 77 68 69 63 68 20 |procedur|e which |
|00005a30| 69 6e 73 65 72 74 73 20 | 63 68 65 63 6b 20 6d 61 |inserts |check ma|
|00005a40| 72 6b 73 0d 09 69 6e 74 | 6f 20 74 68 65 20 73 75 |rks..int|o the su|
|00005a50| 62 6a 65 63 74 73 20 77 | 68 69 63 68 20 61 72 65 |bjects w|hich are|
|00005a60| 20 70 61 73 73 65 64 20 | 69 6e 20 61 74 20 74 68 | passed |in at th|
|00005a70| 65 43 65 6c 6c 2e 0d 2a | 2f 0d 0d 76 6f 69 64 20 |eCell..*|/..void |
|00005a80| 4c 6f 4d 61 72 6b 41 72 | 74 69 63 6c 65 52 65 61 |LoMarkAr|ticleRea|
|00005a90| 64 28 54 77 69 6e 64 6f | 77 49 6e 66 6f 20 2a 69 |d(Twindo|wInfo *i|
|00005aa0| 6e 66 6f 2c 43 65 6c 6c | 20 74 68 65 43 65 6c 6c |nfo,Cell| theCell|
|00005ab0| 2c 42 6f 6f 6c 65 61 6e | 20 72 65 61 64 29 0d 7b |,Boolean| read).{|
|00005ac0| 0d 09 73 68 6f 72 74 20 | 6e 61 6d 65 4c 65 6e 3b |..short |nameLen;|
|00005ad0| 0d 09 63 68 61 72 20 2a | 74 6d 70 53 74 72 2c 2a |..char *|tmpStr,*|
|00005ae0| 74 6d 70 53 74 72 32 3b | 0d 09 63 68 61 72 20 6e |tmpStr2;|..char n|
|00005af0| 75 6d 53 74 72 5b 32 35 | 36 5d 2c 74 69 74 6c 65 |umStr[25|6],title|
|00005b00| 5b 32 35 36 5d 3b 0d 09 | 6c 6f 6e 67 20 6e 75 6d |[256];..|long num|
|00005b10| 62 65 72 2c 69 3b 0d 09 | 0d 09 6e 61 6d 65 4c 65 |ber,i;..|..nameLe|
|00005b20| 6e 20 3d 20 32 35 36 3b | 0d 09 4c 47 65 74 43 65 |n = 256;|..LGetCe|
|00005b30| 6c 6c 28 74 69 74 6c 65 | 2c 26 6e 61 6d 65 4c 65 |ll(title|,&nameLe|
|00005b40| 6e 2c 74 68 65 43 65 6c | 6c 2c 28 4c 69 73 74 48 |n,theCel|l,(ListH|
|00005b50| 61 6e 64 6c 65 29 69 6e | 66 6f 2d 3e 64 61 74 61 |andle)in|fo->data|
|00005b60| 29 3b 0d 0d 09 66 6f 72 | 20 28 74 6d 70 53 74 72 |);...for| (tmpStr|
|00005b70| 20 3d 20 6e 75 6d 53 74 | 72 2c 74 6d 70 53 74 72 | = numSt|r,tmpStr|
|00005b80| 32 20 3d 20 74 69 74 6c | 65 2b 31 3b 0d 09 09 2a |2 = titl|e+1;...*|
|00005b90| 74 6d 70 53 74 72 32 20 | 21 3d 20 27 20 27 20 26 |tmpStr2 |!= ' ' &|
|00005ba0| 26 20 2a 74 6d 70 53 74 | 72 32 20 21 3d 20 27 c3 |& *tmpSt|r2 != '.|
|00005bb0| 27 20 26 26 20 2a 74 6d | 70 53 74 72 32 20 21 3d |' && *tm|pStr2 !=|
|00005bc0| 20 27 5c 30 27 3b 0d 09 | 09 2a 74 6d 70 53 74 72 | '\0';..|.*tmpStr|
|00005bd0| 2b 2b 20 3d 20 2a 74 6d | 70 53 74 72 32 2b 2b 29 |++ = *tm|pStr2++)|
|00005be0| 0d 09 09 3b 0d 09 2a 74 | 6d 70 53 74 72 20 3d 20 |...;..*t|mpStr = |
|00005bf0| 27 5c 30 27 3b 0d 09 63 | 32 70 73 74 72 28 6e 75 |'\0';..c|2pstr(nu|
|00005c00| 6d 53 74 72 29 3b 0d 09 | 53 74 72 69 6e 67 54 6f |mStr);..|StringTo|
|00005c10| 4e 75 6d 28 6e 75 6d 53 | 74 72 2c 26 6e 75 6d 62 |Num(numS|tr,&numb|
|00005c20| 65 72 29 3b 0d 0d 09 69 | 66 20 28 69 6e 66 6f 2d |er);...i|f (info-|
|00005c30| 3e 70 61 72 65 6e 74 47 | 72 6f 75 70 29 20 7b 0d |>parentG|roup) {.|
|00005c40| 09 09 2a 74 69 74 6c 65 | 20 3d 20 28 72 65 61 64 |..*title| = (read|
|00005c50| 29 20 3f 20 27 c3 27 20 | 3a 20 27 20 27 3b 0d 09 |) ? '.' |: ' ';..|
|00005c60| 09 4c 53 65 74 43 65 6c | 6c 28 74 69 74 6c 65 2c |.LSetCel|l(title,|
|00005c70| 6e 61 6d 65 4c 65 6e 2c | 74 68 65 43 65 6c 6c 2c |nameLen,|theCell,|
|00005c80| 28 4c 69 73 74 48 61 6e | 64 6c 65 29 69 6e 66 6f |(ListHan|dle)info|
|00005c90| 2d 3e 64 61 74 61 29 3b | 0d 09 09 66 6f 72 20 28 |->data);|...for (|
|00005ca0| 69 3d 30 3b 20 69 3c 69 | 6e 66 6f 2d 3e 6e 75 6d |i=0; i<i|nfo->num|
|00005cb0| 53 75 62 6a 65 63 74 73 | 20 26 26 20 28 28 54 53 |Subjects| && ((TS|
|00005cc0| 75 62 6a 65 63 74 20 2a | 29 2a 28 28 48 61 6e 64 |ubject *|)*((Hand|
|00005cd0| 6c 65 29 69 6e 66 6f 2d | 3e 64 61 74 61 32 29 29 |le)info-|>data2))|
|00005ce0| 5b 69 5d 2e 6e 75 6d 62 | 65 72 20 21 3d 20 6e 75 |[i].numb|er != nu|
|00005cf0| 6d 62 65 72 3b 20 69 2b | 2b 29 0d 09 09 09 3b 0d |mber; i+|+)....;.|
|00005d00| 09 09 69 66 20 28 69 3c | 3d 69 6e 66 6f 2d 3e 6e |..if (i<|=info->n|
|00005d10| 75 6d 53 75 62 6a 65 63 | 74 73 29 0d 09 09 09 28 |umSubjec|ts)....(|
|00005d20| 28 54 53 75 62 6a 65 63 | 74 20 2a 29 2a 28 28 48 |(TSubjec|t *)*((H|
|00005d30| 61 6e 64 6c 65 29 69 6e | 66 6f 2d 3e 64 61 74 61 |andle)in|fo->data|
|00005d40| 32 29 29 5b 69 5d 2e 72 | 65 61 64 20 3d 20 72 65 |2))[i].r|ead = re|
|00005d50| 61 64 3b 0d 09 09 65 6c | 73 65 0d 09 09 09 53 79 |ad;...el|se....Sy|
|00005d60| 73 42 65 65 70 28 31 29 | 3b 0d 09 7d 0d 7d 0d 0d |sBeep(1)|;..}.}..|
|00005d70| 0d 2f 2a 09 44 6f 4d 61 | 72 6b 47 72 6f 75 70 52 |./*.DoMa|rkGroupR|
|00005d80| 65 61 64 20 6d 61 72 6b | 73 20 61 6c 6c 20 73 65 |ead mark|s all se|
|00005d90| 6c 65 63 74 65 64 20 67 | 72 6f 75 70 73 20 69 6e |lected g|roups in|
|00005da0| 20 61 20 67 72 6f 75 70 | 20 77 69 6e 64 6f 77 20 | a group| window |
|00005db0| 72 65 61 64 2e 0d 09 49 | 74 20 69 73 20 61 6c 73 |read...I|t is als|
|00005dc0| 6f 20 63 61 6c 6c 65 64 | 20 69 6e 20 72 65 73 70 |o called| in resp|
|00005dd0| 6f 6e 73 65 20 74 6f 20 | 61 20 4d 61 72 6b 20 52 |onse to |a Mark R|
|00005de0| 65 61 64 20 63 6f 6d 6d | 61 6e 64 20 69 6e 20 74 |ead comm|and in t|
|00005df0| 68 65 20 4e 65 77 73 0d | 09 6d 65 6e 75 2e 0d 2a |he News.|.menu..*|
|00005e00| 2f 0d 0d 76 6f 69 64 20 | 44 6f 4d 61 72 6b 47 72 |/..void |DoMarkGr|
|00005e10| 6f 75 70 52 65 61 64 28 | 42 6f 6f 6c 65 61 6e 20 |oupRead(|Boolean |
|00005e20| 72 65 61 64 29 0d 7b 0d | 09 54 77 69 6e 64 6f 77 |read).{.|.Twindow|
|00005e30| 49 6e 66 6f 20 2a 69 6e | 66 6f 3b 0d 09 43 65 6c |Info *in|fo;..Cel|
|00005e40| 6c 20 74 68 65 43 65 6c | 6c 3b 0d 09 73 68 6f 72 |l theCel|l;..shor|
|00005e50| 74 20 6e 61 6d 65 4c 65 | 6e 3b 0d 09 54 57 4c 69 |t nameLe|n;..TWLi|
|00005e60| 73 74 20 2a 63 68 69 6c | 64 72 65 6e 3b 0d 09 53 |st *chil|dren;..S|
|00005e70| 74 72 32 35 35 20 77 54 | 69 74 6c 65 3b 0d 09 63 |tr255 wT|itle;..c|
|00005e80| 68 61 72 20 6e 61 6d 65 | 5b 32 35 36 5d 3b 0d 09 |har name|[256];..|
|00005e90| 42 6f 6f 6c 65 61 6e 20 | 6d 61 74 63 68 65 64 3b |Boolean |matched;|
|00005ea0| 0d 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 |..unsign|ed char |
|00005eb0| 72 65 61 64 43 68 61 72 | 3b 0d 09 0d 09 72 65 61 |readChar|;....rea|
|00005ec0| 64 43 68 61 72 20 3d 20 | 28 72 65 61 64 29 20 3f |dChar = |(read) ?|
|00005ed0| 20 30 78 66 66 20 3a 20 | 30 78 30 30 3b 0d 09 0d | 0xff : |0x00;...|
|00005ee0| 09 69 66 20 28 21 49 73 | 41 70 70 57 69 6e 64 6f |.if (!Is|AppWindo|
|00005ef0| 77 28 46 72 6f 6e 74 57 | 69 6e 64 6f 77 28 29 29 |w(FrontW|indow())|
|00005f00| 29 0d 09 09 72 65 74 75 | 72 6e 3b 0d 09 69 6e 66 |)...retu|rn;..inf|
|00005f10| 6f 20 3d 20 28 54 77 69 | 6e 64 6f 77 49 6e 66 6f |o = (Twi|ndowInfo|
|00005f20| 20 2a 29 47 65 74 57 52 | 65 66 43 6f 6e 28 46 72 | *)GetWR|efCon(Fr|
|00005f30| 6f 6e 74 57 69 6e 64 6f | 77 28 29 29 3b 0d 09 69 |ontWindo|w());..i|
|00005f40| 66 20 28 69 6e 66 6f 2d | 3e 6b 69 6e 64 20 21 3d |f (info-|>kind !=|
|00005f50| 20 63 55 73 65 72 47 72 | 6f 75 70 29 0d 09 09 72 | cUserGr|oup)...r|
|00005f60| 65 74 75 72 6e 3b 0d 09 | 0d 09 09 0d 09 74 68 65 |eturn;..|.....the|
|00005f70| 43 65 6c 6c 2e 68 20 3d | 20 74 68 65 43 65 6c 6c |Cell.h =| theCell|
|00005f80| 2e 76 20 3d 20 30 3b 0d | 09 77 68 69 6c 65 20 28 |.v = 0;.|.while (|
|00005f90| 4c 47 65 74 53 65 6c 65 | 63 74 28 74 72 75 65 2c |LGetSele|ct(true,|
|00005fa0| 26 74 68 65 43 65 6c 6c | 2c 28 4c 69 73 74 48 61 |&theCell|,(ListHa|
|00005fb0| 6e 64 6c 65 29 69 6e 66 | 6f 2d 3e 64 61 74 61 29 |ndle)inf|o->data)|
|00005fc0| 29 20 7b 0d 09 09 6e 61 | 6d 65 4c 65 6e 20 3d 20 |) {...na|meLen = |
|00005fd0| 32 35 36 3b 0d 09 09 4c | 47 65 74 43 65 6c 6c 28 |256;...L|GetCell(|
|00005fe0| 6e 61 6d 65 2c 26 6e 61 | 6d 65 4c 65 6e 2c 74 68 |name,&na|meLen,th|
|00005ff0| 65 43 65 6c 6c 2c 28 4c | 69 73 74 48 61 6e 64 6c |eCell,(L|istHandl|
|00006000| 65 29 69 6e 66 6f 2d 3e | 64 61 74 61 29 3b 0d 09 |e)info->|data);..|
|00006010| 09 66 6f 72 20 28 6d 61 | 74 63 68 65 64 3d 66 61 |.for (ma|tched=fa|
|00006020| 6c 73 65 2c 63 68 69 6c | 64 72 65 6e 3d 69 6e 66 |lse,chil|dren=inf|
|00006030| 6f 2d 3e 63 68 69 6c 64 | 4c 69 73 74 3b 20 63 68 |o->child|List; ch|
|00006040| 69 6c 64 72 65 6e 21 3d | 6e 69 6c 20 26 26 20 21 |ildren!=|nil && !|
|00006050| 6d 61 74 63 68 65 64 3b | 20 63 68 69 6c 64 72 65 |matched;| childre|
|00006060| 6e 3d 63 68 69 6c 64 72 | 65 6e 2d 3e 6e 65 78 74 |n=childr|en->next|
|00006070| 29 20 7b 0d 09 09 09 47 | 65 74 57 54 69 74 6c 65 |) {....G|etWTitle|
|00006080| 28 63 68 69 6c 64 72 65 | 6e 2d 3e 63 68 69 6c 64 |(childre|n->child|
|00006090| 57 69 6e 64 6f 77 2c 77 | 54 69 74 6c 65 29 3b 0d |Window,w|Title);.|
|000060a0| 09 09 09 70 32 63 73 74 | 72 28 77 54 69 74 6c 65 |...p2cst|r(wTitle|
|000060b0| 29 3b 0d 09 09 09 6d 61 | 74 63 68 65 64 20 3d 20 |);....ma|tched = |
|000060c0| 28 73 74 72 63 6d 70 28 | 28 63 68 61 72 20 2a 29 |(strcmp(|(char *)|
|000060d0| 77 54 69 74 6c 65 2c 6e | 61 6d 65 29 20 3d 3d 20 |wTitle,n|ame) == |
|000060e0| 30 29 3b 0d 09 09 7d 0d | 09 09 69 66 20 28 21 6d |0);...}.|..if (!m|
|000060f0| 61 74 63 68 65 64 29 20 | 7b 0d 09 09 09 69 66 20 |atched) |{....if |
|00006100| 28 20 28 28 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |( ((unsi|gned cha|
|00006110| 72 29 20 6e 61 6d 65 5b | 6e 61 6d 65 4c 65 6e 2d |r) name[|nameLen-|
|00006120| 31 5d 29 20 21 3d 20 72 | 65 61 64 43 68 61 72 29 |1]) != r|eadChar)|
|00006130| 20 7b 0d 09 09 09 09 6e | 61 6d 65 5b 73 74 72 6c | {.....n|ame[strl|
|00006140| 65 6e 28 6e 61 6d 65 29 | 2b 31 5d 20 3d 20 72 65 |en(name)|+1] = re|
|00006150| 61 64 43 68 61 72 3b 0d | 09 09 09 09 4c 53 65 74 |adChar;.|....LSet|
|00006160| 43 65 6c 6c 28 6e 61 6d | 65 2c 73 74 72 6c 65 6e |Cell(nam|e,strlen|
|00006170| 28 6e 61 6d 65 29 2b 32 | 2c 74 68 65 43 65 6c 6c |(name)+2|,theCell|
|00006180| 2c 28 4c 69 73 74 48 61 | 6e 64 6c 65 29 69 6e 66 |,(ListHa|ndle)inf|
|00006190| 6f 2d 3e 64 61 74 61 29 | 3b 0d 09 09 09 7d 0d 09 |o->data)|;....}..|
|000061a0| 09 09 4c 6f 4d 61 72 6b | 47 72 6f 75 70 52 65 61 |..LoMark|GroupRea|
|000061b0| 64 28 6e 61 6d 65 2c 28 | 54 47 72 6f 75 70 20 2a |d(name,(|TGroup *|
|000061c0| 29 69 6e 66 6f 2d 3e 64 | 61 74 61 32 2c 72 65 61 |)info->d|ata2,rea|
|000061d0| 64 29 3b 0d 09 09 7d 0d | 09 09 65 6c 73 65 0d 09 |d);...}.|..else..|
|000061e0| 09 09 53 79 73 42 65 65 | 70 28 31 29 3b 0d 09 09 |..SysBee|p(1);...|
|000061f0| 09 0d 09 09 74 68 65 43 | 65 6c 6c 2e 76 2b 2b 3b |....theC|ell.v++;|
|00006200| 0d 09 7d 0d 7d 0d 0d 0d | 2f 2a 09 4c 6f 4d 61 72 |..}.}...|/*.LoMar|
|00006210| 6b 47 72 6f 75 70 52 65 | 61 64 20 6d 61 72 6b 73 |kGroupRe|ad marks|
|00006220| 20 61 6c 6c 20 61 72 74 | 69 63 6c 65 73 20 69 6e | all art|icles in|
|00006230| 20 74 68 65 20 73 65 6c | 65 63 74 65 64 20 67 72 | the sel|ected gr|
|00006240| 6f 75 70 20 72 65 61 64 | 2e 0d 2a 2f 0d 0d 76 6f |oup read|..*/..vo|
|00006250| 69 64 20 4c 6f 4d 61 72 | 6b 47 72 6f 75 70 52 65 |id LoMar|kGroupRe|
|00006260| 61 64 28 63 68 61 72 20 | 67 72 6f 75 70 4e 61 6d |ad(char |groupNam|
|00006270| 65 5b 32 35 36 5d 2c 54 | 47 72 6f 75 70 20 2a 66 |e[256],T|Group *f|
|00006280| 69 72 73 74 47 72 6f 75 | 70 2c 42 6f 6f 6c 65 61 |irstGrou|p,Boolea|
|00006290| 6e 20 69 73 52 65 61 64 | 29 0d 7b 0d 09 54 47 72 |n isRead|).{..TGr|
|000062a0| 6f 75 70 20 2a 67 72 6f | 75 70 3b 0d 09 54 52 65 |oup *gro|up;..TRe|
|000062b0| 61 64 52 65 63 20 2a 72 | 65 61 64 3b 0d 09 0d 09 |adRec *r|ead;....|
|000062c0| 66 6f 72 20 28 67 72 6f | 75 70 20 3d 20 66 69 72 |for (gro|up = fir|
|000062d0| 73 74 47 72 6f 75 70 3b | 0d 09 09 09 09 67 72 6f |stGroup;|.....gro|
|000062e0| 75 70 20 21 3d 20 6e 69 | 6c 20 26 26 20 73 74 72 |up != ni|l && str|
|000062f0| 63 6d 70 28 67 72 6f 75 | 70 2d 3e 6e 61 6d 65 2c |cmp(grou|p->name,|
|00006300| 67 72 6f 75 70 4e 61 6d | 65 29 21 3d 30 3b 0d 09 |groupNam|e)!=0;..|
|00006310| 09 09 09 67 72 6f 75 70 | 20 3d 20 67 72 6f 75 70 |...group| = group|
|00006320| 2d 3e 6e 65 78 74 29 0d | 09 09 3b 0d 09 0d 09 77 |->next).|..;....w|
|00006330| 68 69 6c 65 20 28 67 72 | 6f 75 70 2d 3e 72 65 61 |hile (gr|oup->rea|
|00006340| 64 29 20 7b 0d 09 09 72 | 65 61 64 20 3d 20 67 72 |d) {...r|ead = gr|
|00006350| 6f 75 70 2d 3e 72 65 61 | 64 3b 0d 09 09 67 72 6f |oup->rea|d;...gro|
|00006360| 75 70 2d 3e 72 65 61 64 | 20 3d 20 67 72 6f 75 70 |up->read| = group|
|00006370| 2d 3e 72 65 61 64 2d 3e | 6e 65 78 74 3b 0d 09 09 |->read->|next;...|
|00006380| 4d 79 44 69 73 70 6f 73 | 50 74 72 28 28 50 74 72 |MyDispos|Ptr((Ptr|
|00006390| 29 72 65 61 64 29 3b 0d | 09 7d 0d 09 0d 09 69 66 |)read);.|.}....if|
|000063a0| 20 28 21 69 73 52 65 61 | 64 29 20 7b 0d 09 09 72 | (!isRea|d) {...r|
|000063b0| 65 61 64 20 3d 20 28 54 | 52 65 61 64 52 65 63 20 |ead = (T|ReadRec |
|000063c0| 2a 29 20 4d 79 4e 65 77 | 50 74 72 28 73 69 7a 65 |*) MyNew|Ptr(size|
|000063d0| 6f 66 28 54 52 65 61 64 | 52 65 63 29 29 3b 0d 09 |of(TRead|Rec));..|
|000063e0| 09 72 65 61 64 2d 3e 66 | 69 72 73 74 52 65 61 64 |.read->f|irstRead|
|000063f0| 20 3d 20 67 72 6f 75 70 | 2d 3e 66 69 72 73 74 4d | = group|->firstM|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.